REDCap validation for v13.8.1

Generated on 7/10/2025 4:26:53 PM from github project id 10 by MintooXavier

Index

redcap_cypress-85 | 124. Highlight DQ Rules

redcap_cypress-86 | 125. Enhance reason for change

redcap_cypress-43 | 105. Send-It

redcap_cypress-90 | 129. Concurrent User Access

redcap_cypress-32 | 4. Project Setup

redcap_cypress-30 | 2. Add / Manage Users

redcap_cypress-29 | 1. Run Configuration Check

redcap_cypress-31 | 3. Assign Administrators and Account Managers

redcap_cypress-67 | 11. Project Status

redcap_cypress-84 | 123. Embellish Fields

redcap_cypress-83 | 122. Versioning

redcap_cypress-89 | 128. Monitoring QR module

redcap_cypress-88 | 127. Data Entry log

redcap_cypress-87 | 126. Enhance form status

redcap_cypress-55 | 116. Secondary Unique Field

redcap_cypress-76 | 21. Export Data

redcap_cypress-81 | 121. eDocs

redcap_cypress-71 | 26. File Repository

redcap_cypress-38 | 118. Stats and Charts

redcap_cypress-35 | 101. Two Factor Authentication

redcap_cypress-40 | 119. Downloading Metadata

redcap_cypress-53 | 114. Scheduling Module and Calendar

redcap_cypress-42 | 104. Automated Survey Invitations

redcap_cypress-77 | 22. Reporting

redcap_cypress-62 | 10. Data Access Groups

redcap_cypress-65 | 9. Branching Logic

redcap_cypress-69 | 8. Field Validation

redcap_cypress-37 | 7. Design Forms using Data Dictionary & Online Designer

redcap_cypress-72 | 14. Direct Data Entry - Data Collection Instrument

redcap_cypress-34 | 6. Assign User Rights

redcap_cypress-33 | 5. Browse Projects

redcap_cypress-68 | 13. My Projects

redcap_cypress-66 | 12. Security Settings

redcap_cypress-79 | 27. Longitudinal Project Setup

redcap_cypress-80 | 120. Field Embedding

redcap_cypress-73 | 15. Direct Data Entry - Survey

redcap_cypress-50 | 111. Codebook

redcap_cypress-70 | 110. Special Functions

redcap_cypress-47 | 109. Piping

redcap_cypress-46 | 108. Smart Variables

redcap_cypress-41 | 103. Form Display Logic

redcap_cypress-36 | 102. Alerts and Notifications

redcap_cypress-54 | 115. Download PDF of Instruments

redcap_cypress-61 | 20. Draft Mode

redcap_cypress-64 | 19. Record locking and E-signatures

redcap_cypress-78 | 24. e-Consent

redcap_cypress-44 | 106. Data Resolution Workflow and Field Comments

redcap_cypress-63 | 23. Logging

redcap_cypress-59 | 18. Data Quality

redcap_cypress-74 | 16. Data Import

redcap_cypress-58 | 117. File Version History for ‘File Upload’ Fields

redcap_cypress-51 | 112. User Password Strategy

redcap_cypress-52 | 113. Additional Customizations

redcap_cypress-45 | 107. Action Tags

The following features cannot be retrieved (uid | title -> error)


Features


Feature: 124. Highlight DQ Rules

Id: I_kwDOIaOBn86ojYcR Uid: redcap_cypress-85
Author: MintooXavier Created: 2/3/2025 3:32:11 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/85
Milestone: |none| Labels: Gherkin || Automated || External Module

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 7/10/2025 10:35:58 AM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
The Highlight DQ rules module provides a simple mechanism to highlight rules that are in error within the data entry
screens for selected user roles. Only rules that execute in real-time are shown.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/124_highlight_dq_rules.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.100%20-%20Hightlight%20DQ%20Rules%20Configurations.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.600%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.700%20-%20Hightlight%20DQR%20in%20project.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.800%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.900%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.1000%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.1100%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.1200%20-%20Exclude%20field%20in%20project.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.1300%20-%20Exclude%20DQR%20in%20project.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/124_highlight_dq_rules.spec

E.124.100 - The system shall support the ability to enable/disable Highlight DQ Rules external module.
E.124.200 - The system shall support the ability to enable Highlight DQ Rules external module on all projects by default.
E.124.300 - The system shall support the ability to make Highlight DQ Rules external module discoverable by users.
E.124.400 - The system shall support the ability to allow non-admins to enable Highlight DQ Rules external module on projects.
E.124.500 - The system shall support the ability to hide Highlight DQ Rules external module from non-admins in the list of enabled modules on each project.
E.124.600 - The system shall support the ability to view the usage of Highlight DQ Rules external module.
E.124.700 - The system shall support the ability to view data quality errors in instruments based on user roles using Highlight DQ Rules external module.
E.124.800 - The system shall support the ability to view data quality errors in line with the question when the option is enabled in Highlight DQ Rules external module.
E.124.900 - The system shall allow only super-admins to configure the Highlight DQ Rules external module.
E.124.1000 - The system shall support the ability to use Highlight DQ Rules external module for different Arms.
E.124.1100 - The system shall support the ability to use Highlight DQ Rules external module for Repeating Events/Instruments.
E.124.1200 - The system shall support the ability to view excluded data in instruments based on user roles using Highlight DQ Rules external module.
E.124.1300 - The system shall support the ability to view excluded data quality rules in instruments based on user roles using Highlight DQ Rules external module.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.100%20-%20Hightlight%20DQ%20Rules%20Configurations.feature

Feature: E.124.100 - The system shall support the ability to enable/disable Highlight DQ Rules external module.

As a REDCap end user I want to see that Highlight DQ Rules is functioning as expected

Scenario: E.124.100 - Enable external Module - Default settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Highlight DQ Rules - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Highlight DQ Rules"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.124.100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I should NOT see a link labeled exactly "Manage"
And I logout

Scenario: E.124.200 - Enable module on all projects by default Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Highlight DQ Rules - v0.0.0” And I should NOT see “Enabled for All Projects” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Enable module on all projects by default” And I click on the button labeled “Save” Then I should see “Highlight DQ Rules - v0.0.0” And I should see “Enabled for All Projects” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.124.100.200" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Highlight DQ Rules - v0.0.0"
And I should see "Enabled for All Projects"
And I logout

Scenario: E.124.300 - Make module discoverable by users Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Highlight DQ Rules - v0.0.0” And I should see “Enabled for All Projects” And I should NOT see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Enable module on all projects by default” And I check the checkbox labeled “Make module discoverable by users” And I click on the button labeled “Save” Then I should see “Highlight DQ Rules - v0.0.0” And I should NOT see “Enabled for All Projects” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.124.100.300" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Highlight DQ Rules - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Highlight DQ Rules - v0.0.0"
And I should see "Discoverable"
And I should NOT see "Activation request is pending"
When I click on the button labeled Request Activation for the external module named "Highlight DQ Rules"
Then I should see "SUCCESS! Your external module activation request has been sent to a REDCap administrator for review." in the dialog box
And I click on the button labeled "Close" in the dialog box
And I should NOT see "Highlight DQ Rules - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Highlight DQ Rules - v0.0.0"
And I should see "Discoverable"
And I should see "Activation request is pending"
And I logout

## Commenting this as HTML is not loading into iframe
## Hence this is done manually
# Given I login to REDCap with the user "Test_Admin"
# When I click on the link labeled "Control Center"
# Then I should see a link labeled "To-Do List"

# Given I click on the link labeled "To-Do List"
# Then I should see "Pending Requests"
# And I should see the "Activate external module" request created for the project named "E.124.100.300" within the Pending Requests table
# When I click on the process request icon for the "Activate external module" request created for the project named "E.124.100.300" within the Pending Requests table
# # HTML is not loading into iFrame
# Then I should see "Enable module 'Highlight DQ Rules - '?" in the dialog box in the iframe
# And I click on the button labeled "Enable" in the dialog box in the iframe
# And I close the iframe window
# Then I should see the "Activate external module" request created for the project named "E.124.100.300" within the Completed & Archived Requests table
# And I logout

# Given I login to REDCap with the user "Test_User1"
# When I click on the link labeled "My Projects"
# And I click on the link labeled "E.124.100.300"
# And I click on the link labeled exactly "Manage"
# Then I should see "External Modules - Project Module Manager"
# And I should see "Highlight DQ Rules - v0.0.0"
# And I should see "Discoverable"
# And I logout

Scenario: E.124.400 - Allow non-admins to enable this module on projects Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center”
And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Highlight DQ Rules - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Allow non-admins to enable this module on projects” And I click on the button labeled “Save” Then I should see “Highlight DQ Rules - v0.0.0” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.124.100.400" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Highlight DQ Rules - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Highlight DQ Rules - v0.0.0"
And I should see "Discoverable"
And I click on the button labeled Enable for the external module named "Highlight DQ Rules - v0.0.0"
Then I should see "Highlight DQ Rules - v0.0.0"
And I logout

Scenario: E.124.500 - Hide this module from non-admins in the list of enabled modules on each project # Enable ‘Hide this module from non-admins in the list of enabled modules on each project’ Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Highlight DQ Rules - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Make module discoverable by users” And I uncheck the checkbox labeled “Allow non-admins to enable this module on projects” And I check the checkbox labeled “Hide this module from non-admins in the list of enabled modules on each project” And I click on the button labeled “Save” Then I should see “Highlight DQ Rules - v0.0.0” And I should NOT see “Discoverable”

When I create a new project named "E.124.100.500" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Highlight DQ Rules - v0.0.0"
Then I should see "Highlight DQ Rules - v0.0.0"

# Add User Test_User1 with Project Setup & Design User Rights
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I check the User Right named "Project Setup & Design"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Highlight DQ Rules - v0.0.0"
And I logout

# Disable 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "Highlight DQ Rules - v0.0.0"
When I click on the button labeled exactly "Configure"
And I uncheck the checkbox labeled "Hide this module from non-admins in the list of enabled modules on each project"
And I click on the button labeled "Save"
Then I should see "Highlight DQ Rules - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Highlight DQ Rules - v0.0.0"
And I logout

# Enable from project - 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
Then I should see "Highlight DQ Rules - v0.0.0"
When I click on the button labeled exactly "Configure"
And I check the checkbox labeled "Hide this module from non-admins in the list of enabled modules on this project"
And I click on the button labeled "Save"
Then I should see "Highlight DQ Rules - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Highlight DQ Rules - v0.0.0"
And I logout

Scenario: Module configuration permissions in projects # Enable - Require Project Setup/Design privilege Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Highlight DQ Rules - v0.0.0” When I click on the button labeled exactly “Configure” Then I should see the dropdown field labeled “Module configuration permissions in projects” with the option “Require Project Setup/Design privilege” selected And I click on the button labeled “Save” Then I should see “Highlight DQ Rules - v0.0.0”

When I create a new project named "E.124.100.600" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Highlight DQ Rules - v0.0.0"
Then I should see "Highlight DQ Rules - v0.0.0"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Highlight DQ Rules" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Enable - Require module-specific user privilege
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should see "Highlight DQ Rules - v0.0.0"
When I click on the button labeled exactly "Configure"
And I select "Require module-specific user privilege" on the dropdown field labeled "Module configuration permissions in projects"
And I click on the button labeled "Save"
Then I should see "Highlight DQ Rules - v0.0.0"

When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.100.600"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Highlight DQ Rules" that is unchecked
And I check the checkbox labeled "Highlight DQ Rules"
And I click on the button labeled "Add user"
Then I should see "successfully added"

Scenario: E.124.600 - View Usage of the external module When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Highlight DQ Rules - v0.0.0” When I click on the button labeled “View Usage” Then I should see a link labeled “E.124.100.400” in the dialog box And I should see a link labeled “E.124.100.500” in the dialog box And I should see a link labeled “E.124.100.600” in the dialog box When I click on the link labeled “E.124.100.400” in the dialog box # # For Request Activation of project E.124.100.300 which doesn’t work in ATS. # # Can be checked manually # And I should see a link labeled “E.124.100.300” in the dialog box Then I should see “Project Home” And I should see “E.124.100.400” And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - highlight_dq_rules"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.200%20-%20REDUNDANT.feature

Feature: E.124.200 - The system shall support the ability to enable Highlight DQ Rules external module on all projects by default.

This feature test is REDUNDANT and can be viewed in E.124.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.300%20-%20REDUNDANT.feature

Feature: E.124.300 - The system shall support the ability to make Highlight DQ Rules external module discoverable by users.

This feature test is REDUNDANT and can be viewed in E.124.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.400%20-%20REDUNDANT.feature

Feature: E.124.400 - The system shall support the ability to allow non-admins to enable Highlight DQ Rules external module on projects.

This feature test is REDUNDANT and can be viewed in E.124.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.500%20-%20REDUNDANT.feature

Feature: E.124.500 - The system shall support the ability to hide Highlight DQ Rules external module from non-admins in the list of enabled modules on each project.

This feature test is REDUNDANT and can be viewed in E.124.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.600%20-%20REDUNDANT.feature

Feature: E.124.600 - The system shall support the ability to view the usage of Highlight DQ Rules external module.

This feature test is REDUNDANT and can be viewed in E.124.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.700%20-%20Hightlight%20DQR%20in%20project.feature

Feature: E.124.700 - The system shall support the ability to view data quality errors in instruments based on user roles using Highlight DQ Rules external module.

As a REDCap end user I want to see that Highlight DQ Rules External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Highlight DQ Rules - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Highlight DQ Rules"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.124.700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val_nodata.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Highlight DQ Rules - v0.0.0” Then I should see “Highlight DQ Rules - v0.0.0”

# Configure external Module
Given I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "DataManager" on the dropdown field labeled "1. A role that can view the highlight DQ rule errors"
And I click on the button labeled "+" in the dialog box
When I select "Monitor" on the dropdown field labeled "2. A role that can view the highlight DQ rule errors"
Then I click on the button labeled "Save" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Highlight DQ Rules" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2 to DataManager user role
Given I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataManager" row of the column labeled "Username" of the User Rights table

# Add User Test_User3 to Monitor user role
Given I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "Monitor" row of the column labeled "Username" of the User Rights table

# Add User Test_User4 to DataEntry user role
Given I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntry" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "DataEntry" row of the column labeled "Username" of the User Rights table

#ACTION: Import data 
Given I click on the link labeled "Data Import Tool"
And  I upload a "csv" format file located at "import_files/redcap_val/E124700_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"
And I logout

Scenario: E.124.1000, E.124.1100 - Highlight DQ Rules for Repeating Instruments in Arm 1 #VERIFY - E.124.700 - DataManager can view DQR Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.124.700”

#Repeating Instrument - Instance #1
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I click on the tab labeled "Arm 1"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the first instance
Then I should see "Data Types"
And I should see "(Instance #1)"
And I should see "Data quality errors for current form"
And I should see "Identifier more than 8" in the Data quality error table
And I should see "[identifier] > 8" in the Data quality error table
And I should NOT see the field labeled "Identifier" highlighed in red
When I click on the link labeled "Identifier more than 8"
Then I should see "Data Quality Rules"
And I should see "Identifier more than 8"
And I should see "[identifier] > 8"

#Repeating Instrument - Instance #2
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the second instance
Then I should see "Data Types"
And I should see "(Instance #2)"
And I should NOT see "Data quality errors for current form"
And I should NOT see "Identifier more than 8"
And I should NOT see "[identifier] > 8"
And I should NOT see the field labeled "Identifier" highlighed in red

#Repeating Instrument - Instance #3
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "Data Types"
And I should see "(Instance #3)"
And I should see "Data quality errors for current form"
And I should see "Identifier more than 8" in the Data quality error table
And I should see "[identifier] > 8" in the Data quality error table
And I should NOT see the field labeled "Identifier" highlighed in red
And I logout

#VERIFY - E.124.900 - Super-users can configure the settings
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.700"
Then I should see "Project Home and Design"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module"
And I check the checkbox labeled "When checked, shows the data quality rule error in line with the question" in the dialog box
When I click on the button labeled "Save" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"
And I logout

Scenario: E.124.1000, E.124.1100 - Highlight DQ Rules for Repeating Events in Arm 2 #VERIFY - E.124.700 - Monitor can view DQR Given I login to REDCap with the user “Test_User3” When I click on the link labeled “My Projects” And I click on the link labeled “E.124.700”

#Repeating Event - Instance #1
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the tab labeled "Arm 2"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#1)"
Then I should see "Data Types"
And I should NOT see "Data quality errors for current form"
And I should NOT see "Identifier more than 8"
And I should NOT see "[identifier] > 8"
# VERIFY - E.124.800
And I should NOT see the field labeled "Identifier" highlighed in red

#Repeating Event - Instance #2
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the tab labeled "Arm 2"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "Data Types"
And I should see "(Instance #2)"
And I should see "Data quality errors for current form"
And I should see "Identifier more than 8" in the Data quality error table
And I should see "[identifier] > 8" in the Data quality error table
And I should see the field labeled "Identifier" highlighed in red

#Repeating Event - Instance #3
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the tab labeled "Arm 2"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Data Types"
And I should see "(Instance #3)"
And I should see "Data quality errors for current form"
And I should see "Identifier more than 8" in the Data quality error table
And I should see "[identifier] > 8" in the Data quality error table
And I should see the field labeled "Identifier" highlighed in red
And I logout

Scenario: E.124.900 - non-Super-users cannot configure the Highlight DQ Rules project configurations Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.124.700” Then I should see “Project Home and Design” When I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see the button labeled “Disable” And I click on the button labeled “Configure” Then I should see “Configure Module” in the dialog box And I should NOT see “Hide this module from non-admins in the list of enabled modules on this project” in the dialog box And I should NOT see “A role that can view the highlight DQ rule errors” in the dialog box And I should NOT see “When checked, shows the data quality rule error in line with the question” in the dialog box When I click on the button labeled “Cancel” in the dialog box Then I should see “Highlight DQ Rules - v0.0.0” And I should see “Currently Enabled Modules”

Given I click on the link labeled "Record Status Dashboard"
When I click on the tab labeled "Arm 1"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the first instance
Then I should see "Data Types"
And I should see "(Instance #1)"
And I should NOT see "Data quality errors for current form"
And I should NOT see "Identifier more than 8"
And I should NOT see "[identifier] > 8"
And I should NOT see the field labeled "Identifier" highlighed in red
And I logout

#VERIFY - E.124.700 - DataEntry cannot view DQR
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.700"

Given I click on the link labeled "Record Status Dashboard"
When I click on the tab labeled "Arm 1"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the first instance
Then I should see "Data Types"
And I should see "(Instance #1)"
And I should NOT see "Data quality errors for current form"
And I should NOT see "Identifier more than 8"
And I should NOT see "[identifier] > 8"
And I should NOT see the field labeled "Identifier" highlighed in red
And I logout

Scenario: E.124.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.124.700” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Highlight DQ Rules - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Highlight DQ Rules - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                           | List of Data Changes OR Fields Exported                                                 |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "highlight_dq_rules_v0.0.0" for project                  |                                                                                         |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "highlight_dq_rules_v0.0.0" for project | highlight-dq-inline                                                                     |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "highlight_dq_rules_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-view, highlight-dq-inline |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "highlight_dq_rules_v0.0.0" for project                   |                                                                                         |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Highlight DQ Rules - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "highlight_dq_rules_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "highlight_dq_rules_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "highlight_dq_rules_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "highlight_dq_rules_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "highlight_dq_rules_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - highlight_dq_rules"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.800%20-%20REDUNDANT.feature

Feature: E.124.800 - The system shall support the ability to view data quality errors in line with the question when the option enabled in Highlight DQ Rules external module.

This feature test is REDUNDANT and can be viewed in E.124.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.900%20-%20REDUNDANT.feature

Feature: E.124.900 - The system shall allow only super-admins to configure the Highlight DQ Rules external module.

This feature test is REDUNDANT and can be viewed in E.124.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.1000%20-%20REDUNDANT.feature

Feature: E.124.1000 - The system shall support the ability to use Highlight DQ Rules external module for different Arms.

This feature test is REDUNDANT and can be viewed in E.124.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.1100%20-%20REDUNDANT.feature

Feature: E.124.1100 - The system shall support the ability to use Highlight DQ Rules external module for Repeating Events/Instruments.

This feature test is REDUNDANT and can be viewed in E.124.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.1200%20-%20Exclude%20field%20in%20project.feature

Feature: E.124.1200 - The system shall support the ability to view excluded data in instruments based on user roles using Highlight DQ Rules external module.

As a REDCap end user I want to see that Highlight DQ Rules External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Highlight DQ Rules - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Highlight DQ Rules"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.124.1200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E1241200.xml”, and clicking the “Create Project” button

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Highlight DQ Rules - v0.0.0"
Then I should see "Highlight DQ Rules - v0.0.0"

# Configure external Module
Given I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "DataManager" on the dropdown field labeled "1. A role that can view the highlight DQ rule errors"
And I click on the button labeled "+" in the dialog box
When I select "Monitor" on the dropdown field labeled "2. A role that can view the highlight DQ rule errors"
Then I click on the button labeled "Save" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"

# Add User Test_User2 to DataManager user role
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataManager" row of the column labeled "Username" of the User Rights table
And I logout

Scenario: Exclude DQR which references only one field Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.124.1200”

And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I click on the tab labeled "Arm 1"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the first instance
Then I should see "Data Types"
And I should see "(Instance #1)"
And I should see "Data quality errors for current form"
And I should see "Identifier more than 8" in the Data quality error table
And I should see "[identifier] > 8" in the Data quality error table
And I should see "Name not Name1" in the Data quality error table
And I should see "[ptname] != 'Name1'" in the Data quality error table

# Verify Field
Given I click on the Comment icon for the field labeled "Name"
Then I should see "Data Resolution Workflow" in the dialog box
When I select the radio option Verified data value in Data Resolution Workflow
And I enter "Verify Data" in the comment box in Data Resolution Workflow
And I click on the button labeled "Verified data value" in the dialog box
Then I should see a Tick icon for the field labeled "Name"
And I should see "Name not Name1" in the Data quality error table
And I should see "[ptname] != 'Name1'" in the Data quality error table

Given I click on the link labeled "Data Types"
Then I should NOT see a Tick icon for the field labeled "Name"
And I should see "Data quality errors for current form"
And I should see "Identifier more than 8" in the Data quality error table
And I should see "[identifier] > 8" in the Data quality error table
And I should see "Data quality errors that have been excluded for the current form"
And I should see "Name not Name1" in the Data quality exclusion table
And I should see "[ptname] != 'Name1'" in the Data quality exclusion table

# De-verify Field
Given I click on the Comment icon for the field labeled "Name"
Then I should see "Data Resolution Workflow" in the dialog box
When I select the radio option De-verify data value in Data Resolution Workflow
And I enter "De-verify Data" in the comment box in Data Resolution Workflow
And I click on the button labeled "De-verify data value" in the dialog box
Then I should see an Exclamation icon for the field labeled "Name"
And I should see "Data quality errors that have been excluded for the current form"
And I should see "Name not Name1" in the Data quality exclusion table
And I should see "[ptname] != 'Name1'" in the Data quality exclusion table

Given I click on the link labeled "Data Types"
Then I should NOT see an Exclamation icon for the field labeled "Name"
And I should NOT see "Data quality errors that have been excluded for the current form"
And I should see "Data quality errors for current form"
And I should see "Identifier more than 8" in the Data quality error table
And I should see "[identifier] > 8" in the Data quality error table
And I should see "Name not Name1" in the Data quality error table
And I should see "[ptname] != 'Name1'" in the Data quality error table

# Re-verify Field
Given I click on the Comment icon for the field labeled "Name"
Then I should see "Data Resolution Workflow" in the dialog box
When I select the radio option Verified data value in Data Resolution Workflow
And I enter "Re-verify Data" in the comment box in Data Resolution Workflow
And I click on the button labeled "Verified data value" in the dialog box
Then I should see a Tick icon for the field labeled "Name"

Given I click on the link labeled "Data Types"
Then I should NOT see a Tick icon for the field labeled "Name"
And I should see "Data quality errors for current form"
And I should see "Identifier more than 8" in the Data quality error table
And I should see "[identifier] > 8" in the Data quality error table
And I should see "Data quality errors that have been excluded for the current form"
And I should see "Name not Name1" in the Data quality exclusion table
And I should see "[ptname] != 'Name1'" in the Data quality exclusion table
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.1200"
Then I should see "Project Home and Design"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module"
And I check the checkbox labeled "When checked, the excluded rules are not shown in a table below the errored rules" in the dialog box
When I click on the button labeled "Save" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.1200"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the first instance
Then I should NOT see a Tick icon for the field labeled "Name"
And I should NOT see "Data quality errors that have been excluded for the current form"
And I should NOT see "Name not Name1"
And I should NOT see "[ptname] != 'Name1'"
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.1200"
Then I should see "Project Home and Design"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module"
And I check the checkbox labeled "When checked, the data status icon is not replaced with the standard grey icon" in the dialog box
When I click on the button labeled "Save" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.1200"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the first instance
Then I should see a Tick icon for the field labeled "Name"
And I should NOT see "Data quality errors that have been excluded for the current form"
And I should NOT see "Name not Name1"
And I should NOT see "[ptname] != 'Name1'"
And I logout

Scenario: E.124.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.124.1200” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Highlight DQ Rules - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Highlight DQ Rules - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                           | List of Data Changes OR Fields Exported                                                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "highlight_dq_rules_v0.0.0" for project                  |                                                                                                                                               |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "highlight_dq_rules_v0.0.0" for project | dont-reset-field-data-icon                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "highlight_dq_rules_v0.0.0" for project | dont-show-excluded-table                                                                                                                      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "highlight_dq_rules_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-view, highlight-dq-inline, dont-show-excluded-table, dont-reset-field-data-icon |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "highlight_dq_rules_v0.0.0" for project                   |                                                                                                                                               |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Highlight DQ Rules - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "highlight_dq_rules_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "highlight_dq_rules_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "highlight_dq_rules_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "highlight_dq_rules_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "highlight_dq_rules_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - highlight_dq_rules"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Highlight%20DQR_124/E.124.1300%20-%20Exclude%20DQR%20in%20project.feature

Feature: E.124.1300 - The system shall support the ability to view excluded data quality rules in instruments based on user roles using Highlight DQ Rules external module.

As a REDCap end user I want to see that Highlight DQ Rules External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Highlight DQ Rules - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Highlight DQ Rules"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.124.1200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E1241200.xml”, and clicking the “Create Project” button

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Highlight DQ Rules - v0.0.0"
Then I should see "Highlight DQ Rules - v0.0.0"

# Configure external Module
Given I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "DataManager" on the dropdown field labeled "1. A role that can view the highlight DQ rule errors"
And I click on the button labeled "+" in the dialog box
When I select "Monitor" on the dropdown field labeled "2. A role that can view the highlight DQ rule errors"
Then I click on the button labeled "Save" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"

# Add User Test_User2 to DataManager user role
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataManager" row of the column labeled "Username" of the User Rights table
And I logout

Scenario: Exclude DQR referencing fields from two CRFs Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.124.1200” Given I click on the link labeled “Record Status Dashboard” Then I should see “Record Status Dashboard (all records)” And I locate the bubble for the “Data Types” instrument on event “Event 2” for record ID “1” and click on the bubble Then I should see “Data Types” And I should see “Data quality errors for current form” And I should see “Name not Name1” in the Data quality error table And I should see “[ptname] != ‘Name1’” in the Data quality error table And I should see “Names are different” in the Data quality error table And I should see “[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]” in the Data quality error table

When I click on the link labeled "Text Validation"
Then I should see "Text Validation"
And I should see "Data quality errors for current form"
And I should see "Names are different" in the Data quality error table
And I should see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]" in the Data quality error table

# Verify DQR
Given I click on the link labeled "Data Quality"
And I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name              | Rule Logic (Show discrepancy only if...)                    | Total Discrepancies |
  | 1      | Identifier more than 8 | [identifier] > 8                                            | 5                   |
  | 2      | Name not Name1         | [ptname] != 'Name1'                                         | 8                   |
  | 3      | Names are different    | [event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]    | 1                   |

When I click on the "view" link for Data Quality Rule # "3"
Then I should see "Rule #3: Names are different" in the dialog box
And I should see "Discrepancies found: 1" in the dialog box
And I click on the button labeled "comments" in the dialog box
When I select the radio option Verified data value in Data Resolution Workflow
And I enter "Verify DQR" in the comment box in Data Resolution Workflow
And I click on the button labeled "Verified data value" in the dialog box
And I wait for 1 second
Then I should NOT see "Data Resolution Workflow"
And I click on the button labeled "Close"
Then I should see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]"
When I click on the button labeled "Clear"
And I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name              | Rule Logic (Show discrepancy only if...)                    | Total Discrepancies |
  | 1      | Identifier more than 8 | [identifier] > 8                                            | 5                   |
  | 2      | Name not Name1         | [ptname] != 'Name1'                                         | 8                   |
  | 3      | Names are different    | [event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]    | 1                   |

When I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I locate the bubble for the "Data Types" instrument on event "Event 2" for record ID "1" and click on the bubble
Then I should see "Data Types"
And I should see "Data quality errors for current form"
And I should see "Name not Name1" in the Data quality error table
And I should see "[ptname] != 'Name1'" in the Data quality error table
And I should see "Data quality errors that have been excluded for the current form"
And I should see "Names are different" in the Data quality exclusion table
And I should see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]" in the Data quality exclusion table

When I click on the link labeled "Text Validation"
Then I should see "Text Validation"
And I should see "Data quality errors that have been excluded for the current form"
And I should see "Names are different" in the Data quality exclusion table
And I should see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]" in the Data quality exclusion table
And I logout

# Verify setting Excluded rules are not shown in a table
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.1200"
Then I should see "Project Home and Design"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module"
And I check the checkbox labeled "When checked, the excluded rules are not shown in a table below the errored rules" in the dialog box
When I click on the button labeled "Save" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.1200"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I locate the bubble for the "Data Types" instrument on event "Event 2" for record ID "1" and click on the bubble
And I should NOT see "Data quality errors that have been excluded for the current form"
And I should NOT see "Names are different"
And I should NOT see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]"
And I should see "Data quality errors for current form"
And I should see "Name not Name1" in the Data quality error table
And I should see "[ptname] != 'Name1'" in the Data quality error table

When I click on the link labeled "Text Validation"
Then I should see "Text Validation"
And I should NOT see "Data quality errors that have been excluded for the current form"
And I should NOT see "Names are different"
And I should NOT see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]"
And I logout

# Excluded rules are shown in a table
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.1200"
Then I should see "Project Home and Design"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module"
And I uncheck the checkbox labeled "When checked, the excluded rules are not shown in a table below the errored rules" in the dialog box
When I click on the button labeled "Save" in the dialog box
Then I should see "Highlight DQ Rules - v0.0.0"
And I logout

# De-verify DQR
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.124.1200"
Given I click on the link labeled "Data Quality"
And I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name              | Rule Logic (Show discrepancy only if...)                    | Total Discrepancies |
  | 1      | Identifier more than 8 | [identifier] > 8                                            | 5                   |
  | 2      | Name not Name1         | [ptname] != 'Name1'                                         | 8                   |
  | 3      | Names are different    | [event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]    | 1                   |

When I click on the "view" link for Data Quality Rule # "3"
Then I should see "Rule #3: Names are different" in the dialog box
And I should see "1 exclusion not displayed" in the dialog box
And I click on the link labeled "view" in the dialog box
And I should see "Discrepancies found: 1" in the dialog box
And I click on the button labeled "comment" in the dialog box
When I select the radio option De-verify data value in Data Resolution Workflow
And I enter "De-verify DQR" in the comment box in Data Resolution Workflow
And I click on the button labeled "De-verify data value" in the dialog box
And I wait for 1 second
Then I should NOT see "Data Resolution Workflow"
And I click on the button labeled "Close"
Then I should see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]"
When I click on the button labeled "Clear"
And I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name              | Rule Logic (Show discrepancy only if...)                    | Total Discrepancies |
  | 1      | Identifier more than 8 | [identifier] > 8                                            | 5                   |
  | 2      | Name not Name1         | [ptname] != 'Name1'                                         | 8                   |
  | 3      | Names are different    | [event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]    | 1                   |

When I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I locate the bubble for the "Data Types" instrument on event "Event 2" for record ID "1" and click on the bubble
Then I should see "Data Types"
And I should see "Data quality errors for current form"
And I should see "Name not Name1" in the Data quality error table
And I should see "[ptname] != 'Name1'" in the Data quality error table
And I should see "Names are different" in the Data quality error table
And I should see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]" in the Data quality error table

When I click on the link labeled "Text Validation"
Then I should see "Text Validation"
And I should see "Data quality errors for current form"
And I should see "Names are different" in the Data quality error table
And I should see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]" in the Data quality error table

# Re-verify DQR Given I click on the link labeled “Data Quality” And I click on the button labeled exactly “All” Then I should see a table header and rows containing the following values in a table: | Rule # | Rule Name | Rule Logic (Show discrepancy only if…) | Total Discrepancies | | 1 | Identifier more than 8 | [identifier] > 8 | 5 | | 2 | Name not Name1 | [ptname] != ‘Name1’ | 8 | | 3 | Names are different | [event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname] | 1 |

When I click on the "view" link for Data Quality Rule # "3"
Then I should see "Rule #3: Names are different" in the dialog box
And I should see "Discrepancies found: 1" in the dialog box
And I click on the button labeled "comments" in the dialog box
When I select the radio option Verified data value in Data Resolution Workflow
And I enter "Re-verify DQR" in the comment box in Data Resolution Workflow
And I click on the button labeled "Verified data value" in the dialog box
And I wait for 1 second
Then I should NOT see "Data Resolution Workflow"
And I click on the button labeled "Close"
Then I should see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]"
When I click on the button labeled "Clear"
And I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name              | Rule Logic (Show discrepancy only if...)                    | Total Discrepancies |
  | 1      | Identifier more than 8 | [identifier] > 8                                            | 5                   |
  | 2      | Name not Name1         | [ptname] != 'Name1'                                         | 8                   |
  | 3      | Names are different    | [event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]    | 1                   |

When I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I locate the bubble for the "Data Types" instrument on event "Event 2" for record ID "1" and click on the bubble
Then I should see "Data Types"
And I should see "Data quality errors for current form"
And I should see "Name not Name1" in the Data quality error table
And I should see "[ptname] != 'Name1'" in the Data quality error table
And I should see "Data quality errors that have been excluded for the current form"
And I should see "Names are different" in the Data quality exclusion table
And I should see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]" in the Data quality exclusion table

When I click on the link labeled "Text Validation"
Then I should see "Text Validation"
And I should see "Data quality errors that have been excluded for the current form"
And I should see "Names are different" in the Data quality exclusion table
And I should see "[event_2_arm_1][ptname_v2_v2] != [event_2_arm_1][ptname]" in the Data quality exclusion table
And I logout

Scenario: E.124.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.124.1200” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Highlight DQ Rules - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Highlight DQ Rules - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                           | List of Data Changes OR Fields Exported                                                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "highlight_dq_rules_v0.0.0" for project                  |                                                                                                                                               |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "highlight_dq_rules_v0.0.0" for project | dont-show-excluded-table                                                                                                                      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "highlight_dq_rules_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-view, highlight-dq-inline, dont-show-excluded-table, dont-reset-field-data-icon |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "highlight_dq_rules_v0.0.0" for project                   |                                                                                                                                               |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Highlight DQ Rules - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "highlight_dq_rules_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "highlight_dq_rules_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "highlight_dq_rules_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "highlight_dq_rules_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "highlight_dq_rules_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - highlight_dq_rules"

Comments:


Timeline events:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:32:11 PM Label name: Automated Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:32:12 PM Label name: External Module Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:32:12 PM Label name: Gherkin Label description: Uses a Gherkin syntax

ASSIGNED | User: MintooXavier Created on: 2/3/2025 3:32:12 PM Assignee: MintooXavier

RENAMED TITLE | User: MintooXavier Created on: 2/4/2025 3:19:05 PM Previous title: 124. Highlight Data Quality Rules Current title: 124. Highlight DQ Rules


————— feature ends —————



Feature: 125. Enhance reason for change

Id: I_kwDOIaOBn86ojZBr Uid: redcap_cypress-86
Author: MintooXavier Created: 2/3/2025 3:33:09 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/86
Milestone: |none| Labels: Gherkin || Automated || External Module

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 7/10/2025 11:34:29 AM
Locked: false Participants: MintooXavier || rmh54

Project item body:

Brief description:
The Enhance reason for change module provides extra configuration for the built-in reason for change process (available
when the option to ‘Require a reason when making changes to existing records?’ option is checked).

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/125_enhance_reason_for_change.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.100%20-%20Enhance%20Reason%20For%20Change%20Configurations.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.600%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.700%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.800%20-%20Enhance%20Reason%20For%20Change%20in%20Projects.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.900%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1000%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1100%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1400%20-%20RepeatingEvents_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1500%20-%20RepeatingEvents_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1600%20-%20RepeatingEvents_SingleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1700%20-%20RepeatingEvents_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1800%20-%20NonRepeating_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1900%20-%20NonRepeating_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2000%20-%20NonRepeating_SingleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2100%20-%20NonRepeating_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2200%20-%20RepeatingInstruments_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2300%20-%20RepeatingInstruments_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2400%20-%20RepeatingInstruments_SingleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2500%20-%20RepeatingInstruments_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2600%20-%20NonLongitudinal_RepeatingInstruments_withDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2700%20-%20NonLongitudinal_RepeatingInstruments_noDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2800%20-%20NonLongitudinal_NonRepeatingInstruments_withDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2900%20-%20NonLongitudinal_NonRepeatingInstruments_noDAGS.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/125_enhance_reason_for_change.spec

E.125.100 - The system shall support the ability to enable/disable Enhance Reason For Change external module.
E.125.200 - The system shall support the ability to enable Enhance Reason For Change external module on all projects by default.
E.125.300 - The system shall support the ability to make Enhance Reason For Change external module discoverable by users.
E.125.400 - The system shall support the ability to allow non-admins to enable Enhance Reason For Change external module on projects.
E.125.500 - The system shall support the ability to hide Enhance Reason For Change external module from non-admins in the list of enabled modules on each project.
E.125.600 - The system shall support the ability to view the usage of Enhance Reason For Change external module.
E.125.700 - The system shall allow the configuration of system-level default dropdown options for ‘Reason for Change’ through the Enhance Reason for Change module.
E.125.800 - The system shall allow the configuration of project-level default dropdown options for ‘Reason for Change’ through the Enhance Reason for Change module
E.125.900 - The system shall provide the capability to highlight the right border of changed fields using the Enhance Reason for Change external module.
E.125.1000 - The system shall allow configuring the highlight border style for changed fields using the Enhance Reason for Change external module.
E.125.1100 - The system shall allow only super-admins to configure the Enhance Reason For Change external module.
E.125.1200 - The system shall support the ability to use Enhance Reason For Change external module for different Arms.
E.125.1300 - The system shall support the ability to use Enhance Reason For Change external module for Repeating Events/Instruments.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.100%20-%20Enhance%20Reason%20For%20Change%20Configurations.feature

Feature: E.125.100 - The system shall support the ability to enable/disable Enhance Reason For Change external module.

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: E.125.100 - Enable external module - Default settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.125.100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I should NOT see a link labeled exactly "Manage"
And I logout

Scenario: E.125.200 - Enable module on all projects by default Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Enhance reason for change - v0.0.0” And I should NOT see “Enabled for All Projects” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Enable module on all projects by default” And I click on the button labeled “Save” Then I should see “Enhance reason for change - v0.0.0” And I should see “Enabled for All Projects” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.125.100.200" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
And I should see "Enabled for All Projects"
And I logout

Scenario: E.125.300 - Make module discoverable by users Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Enhance reason for change - v0.0.0” And I should see “Enabled for All Projects” And I should NOT see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Enable module on all projects by default” And I check the checkbox labeled “Make module discoverable by users” And I click on the button labeled “Save” Then I should see “Enhance reason for change - v0.0.0” And I should NOT see “Enabled for All Projects” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.125.100.300" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Enhance reason for change - v0.0.0"
And I should see "Discoverable"
And I should NOT see "Activation request is pending"
When I click on the button labeled Request Activation for the external module named "Enhance reason for change"
Then I should see "SUCCESS! Your external module activation request has been sent to a REDCap administrator for review." in the dialog box
And I click on the button labeled "Close" in the dialog box
And I should NOT see "Enhance reason for change - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Enhance reason for change - v0.0.0"
And I should see "Discoverable"
And I should see "Activation request is pending"
And I logout

## Commenting this as HTML is not loading into iframe
## Hence this is done manually
# Given I login to REDCap with the user "Test_Admin"
# When I click on the link labeled "Control Center"
# Then I should see a link labeled "To-Do List"

# Given I click on the link labeled "To-Do List"
# Then I should see "Pending Requests"
# And I should see the "Activate external module" request created for the project named "E.125.100.300" within the Pending Requests table
# When I click on the process request icon for the "Activate external module" request created for the project named "E.125.100.300" within the Pending Requests table
# # HTML is not loading into iFrame
# Then I should see "Enable module 'Enhance reason for change - '?" in the dialog box in the iframe
# And I click on the button labeled "Enable" in the dialog box in the iframe
# And I close the iframe window
# Then I should see the "Activate external module" request created for the project named "E.125.100.300" within the Completed & Archived Requests table
# And I logout

# Given I login to REDCap with the user "Test_User1"
# When I click on the link labeled "My Projects"
# And I click on the link labeled "E.125.100.300"
# And I click on the link labeled exactly "Manage"
# Then I should see "External Modules - Project Module Manager"
# And I should see "Enhance reason for change - v0.0.0"
# And I should see "Discoverable"
# And I logout

Scenario: E.125.400 - Allow non-admins to enable this module on projects Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center”
And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Enhance reason for change - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Allow non-admins to enable this module on projects” And I click on the button labeled “Save” Then I should see “Enhance reason for change - v0.0.0” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.125.100.400" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Enhance reason for change - v0.0.0"
And I should see "Discoverable"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"
And I logout

Scenario: E.125.500 - Hide this module from non-admins in the list of enabled modules on each project # Enable ‘Hide this module from non-admins in the list of enabled modules on each project’ Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Enhance reason for change - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Make module discoverable by users” And I uncheck the checkbox labeled “Allow non-admins to enable this module on projects” And I check the checkbox labeled “Hide this module from non-admins in the list of enabled modules on each project” And I click on the button labeled “Save” Then I should see “Enhance reason for change - v0.0.0” And I should NOT see “Discoverable”

When I create a new project named "E.125.100.500" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

# Add User Test_User1 with Project Setup & Design User Rights
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I check the User Right named "Project Setup & Design"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
And I logout

# Disable 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Configure"
And I uncheck the checkbox labeled "Hide this module from non-admins in the list of enabled modules on each project"
And I click on the button labeled "Save"
Then I should see "Enhance reason for change - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
And I logout

# Enable from project - 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Configure"
And I check the checkbox labeled "Hide this module from non-admins in the list of enabled modules on this project"
And I click on the button labeled "Save"
Then I should see "Enhance reason for change - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
And I logout

Scenario: Module configuration permissions in projects # Enable - Require Project Setup/Design privilege Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Enhance reason for change - v0.0.0” When I click on the button labeled exactly “Configure” Then I should see the dropdown field labeled “Module configuration permissions in projects” with the option “Require Project Setup/Design privilege” selected And I click on the button labeled “Save” Then I should see “Enhance reason for change - v0.0.0”

When I create a new project named "E.125.100.600" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Enable - Require module-specific user privilege
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Configure"
And I select "Require module-specific user privilege" on the dropdown field labeled "Module configuration permissions in projects"
And I click on the button labeled "Save"
Then I should see "Enhance reason for change - v0.0.0"

When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.100.600"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is unchecked
And I check the checkbox labeled "Enhance reason for change"
And I click on the button labeled "Add user"
Then I should see "successfully added"

Scenario: E.125.600 - View Usage of the external module When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Enhance reason for change - v0.0.0” When I click on the button labeled “View Usage” Then I should see a link labeled “E.125.100.400” in the dialog box And I should see a link labeled “E.125.100.500” in the dialog box And I should see a link labeled “E.125.100.600” in the dialog box When I click on the link labeled “E.125.100.400” in the dialog box # # For Request Activation of project E.125.100.300 which doesn’t work in ATS. # # Can be checked manually # And I should see a link labeled “E.125.100.300” in the dialog box Then I should see “Project Home” And I should see “E.125.100.400”

Scenario: E.125.100 - Disable external module # Disable external module in project E.125.100.400 Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance reason for change - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance reason for change - v0.0.0”

# Disable external module in project E.125.100.500
Given I click on the link labeled "My Projects"
When I click on the link labeled "E.125.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Disable external module in project E.125.100.600
Given I click on the link labeled "My Projects"
When I click on the link labeled "E.125.100.600"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.100.400" in the dialog box
And I should NOT see "E.125.100.500" in the dialog box
And I should NOT see "E.125.100.600" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.200%20-%20REDUNDANT.feature

Feature: E.125.200 - The system shall support the ability to enable Enhance Reason For Change external module on all projects by default.

This feature test is REDUNDANT and can be viewed in E.125.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.300%20-%20REDUNDANT.feature

Feature: E.125.300 - The system shall support the ability to make Enhance Reason For Change external module discoverable by users.

This feature test is REDUNDANT and can be viewed in E.125.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.400%20-%20REDUNDANT.feature

Feature: E.125.400 - The system shall support the ability to allow non-admins to enable Enhance Reason For Change external module on projects.

This feature test is REDUNDANT and can be viewed in E.125.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.500%20-%20REDUNDANT.feature

Feature: E.125.500 - The system shall support the ability to hide Enhance Reason For Change external module from non-admins in the list of enabled modules on each project.

This feature test is REDUNDANT and can be viewed in E.125.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.600%20-%20REDUNDANT.feature

Feature: E.125.600 - The system shall support the ability to view the usage of Enhance Reason For Change external module.

This feature test is REDUNDANT and can be viewed in E.125.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.700%20-%20REDUNDANT.feature

Feature: E.125.700 - The system shall allow the configuration of system-level default dropdown options for ‘Reason for Change’ through the Enhance Reason for Change module.

This feature test is REDUNDANT and can be viewed in E.125.800

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.800%20-%20Enhance%20Reason%20For%20Change%20in%20Projects.feature

Feature: The system shall allow the configuration of project-level default dropdown options for ‘Reason for Change’ through the Enhance Reason for Change module

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.800” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E125800.xml”, and clicking the “Create Project” button

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
And I clear field and enter "Name" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.1200, E.125.1300: Repeating Instrument - instance 2, Arm 1
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

Scenario: Verify different configuration settings Given I click on the link labeled exactly “Manage” When I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.800 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0”

# E.125.1200, E.125.1300: Repeating event - instance 3, Arm 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled exactly "Arm Two"
And I click on the link labeled exactly "3"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
And I clear field and enter "ABC" into the input field labeled "Text2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Text2" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

Given I click on the link labeled exactly "Manage"
When I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# E.125.1200, E.125.1300: Repeating event - instance 1, Arm 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled exactly "Arm Two"
And I click on the link labeled exactly "3"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#1)"
And I select "Choice1" on the radio field labeled "Radio Button Auto"
Then I should see the field labeled "Radio Button Auto" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.800"

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box

# E.125.1200, E.125.1300: Repeating Instrument - instance 1, Arm 1
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the first instance
And I check the checkbox labeled "Checkbox2"
Then I should see the field labeled "Checkbox" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 2" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.800”

# Disable external module in project E.125.800
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                     | List of Data Changes OR Fields Exported    | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1 (Arm 1: Arm 1))   | checkbox(2) = checked                      | Reason 2                  |
  | mm/dd/yyyy hh:mm | test_admin | Update record 3 (Event 1 (Arm 2: Arm Two)) | radio_button_auto = '1'                    | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 3 (Event 1 (Arm 2: Arm Two)) | [instance = 3], text2 = 'ABC'              | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | reason-for-change-option, highlight-field-when-changed                                        |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 2 (Event 1 (Arm 1: Arm 1))   | [instance = 2], ptname = 'Name1'           | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed   |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 1 (Event 1 (Arm 1: Arm 1))   | ptname_v2 = 'Name'                         | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.800" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.900%20-%20REDUNDANT.feature

Feature: E.125.900 - The system shall provide the capability to highlight the right border of changed fields using the Enhance Reason for Change external module.

This feature test is REDUNDANT and can be viewed in E.125.800

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1000%20-%20REDUNDANT.feature

Feature: E.125.1000 - The system shall allow configuring the highlight border style for changed fields using the Enhance Reason for Change external module.

This feature test is REDUNDANT and can be viewed in E.125.800

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1100%20-%20REDUNDANT.feature

Feature: E.125.1100 - The system shall allow only super-admins to configure the Enhance Reason For Change external module.

This feature test is REDUNDANT and can be viewed in E.125.800

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1200%20-%20REDUNDANT.feature

Feature: E.125.1200 - The system shall support the ability to use Enhance Reason For Change external module for different Arms.

This feature test is REDUNDANT and can be viewed in E.125.800

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1300%20-%20REDUNDANT.feature

Feature: E.125.1300 - The system shall support the ability to use Enhance Reason For Change external module for Repeating Events/Instruments.

This feature test is REDUNDANT and can be viewed in E.125.800

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1400%20-%20RepeatingEvents_DoubleArm_withDAGs.feature

Feature: E.125.1400 - RepeatingEvents_DoubleArm_withDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.1400” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_DoubleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "(#2)"
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1400"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm Two"
Then I should NOT see a link labeled exactly "2-1"
And I click on the link labeled "Arm 1"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1400” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.1400 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1400"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1400"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1400"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#1)"    
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1400”

# Disable external module in project E.125.1400
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                     | List of Data Changes OR Fields Exported    | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1 (Arm 1: Arm 1)) | radio_button_manual = '9..9'                 | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1 (Arm 1: Arm 1)) | [instance = 3], checkbox(2) = checked      | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | reason-for-change-option, highlight-field-when-changed                                        |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1 (Arm 1: Arm 1)) | [instance = 2], ptname = 'Name1'           | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed   |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 1-1 (Event 1 (Arm 1: Arm 1)) | [instance = 2], ptname_v2 = 'Name2'        | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.1400" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1500%20-%20RepeatingEvents_DoubleArm_noDAGs.feature

Feature: E.125.1500 - RepeatingEvents_DoubleArm_noDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.1500” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_DoubleArm_noDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_DoubleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "(#2)"
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1500"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm Two"
Then I should see a link labeled exactly "2"
And I click on the link labeled "Arm 1"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1500” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.1500 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1500"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1500"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1500"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#1)"    
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1500”

# Disable external module in project E.125.1500
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                   | List of Data Changes OR Fields Exported      | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1 (Arm 1: Arm 1)) | radio_button_manual = '9..9'                 | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1 (Arm 1: Arm 1)) | [instance = 3], checkbox(2) = checked          | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | reason-for-change-option, highlight-field-when-changed                                        |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1 (Arm 1: Arm 1)) | [instance = 2], ptname = 'Name1'             | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed   |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 1 (Event 1 (Arm 1: Arm 1)) | [instance = 2], ptname_v2 = 'Name2'          | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.1500" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1600%20-%20RepeatingEvents_SingleArm_withDAGs.feature

Feature: E.125.1600 - RepeatingEvents_SingleArm_withDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.1600” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_SingleArm_withDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_SingleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "(#2)"
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1600"
When I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled exactly "Arm Two"
And I should NOT see a link labeled exactly "2-1"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1600” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.1600 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1600"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1600"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1600"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#1)"    
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1600”

# Disable external module in project E.125.1600
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                      | List of Data Changes OR Fields Exported    | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1) | radio_button_manual = '9..9'               | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1) | [instance = 3], checkbox(2) = checked      | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | reason-for-change-option, highlight-field-when-changed                                        |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1) | [instance = 2], ptname = 'Name1'           | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed   |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 1-1 (Event 1) | [instance = 2], ptname_v2 = 'Name2'        | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.1600" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1700%20-%20RepeatingEvents_SingleArm_noDAGs.feature

Feature: E.125.1700 - RepeatingEvents_SingleArm_noDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.1700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_SingleArm_noDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_SingleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "(#2)"
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1700"
When I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled exactly "Arm Two"
And I should see a link labeled exactly "2"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1700” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.1700 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1700"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1700"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1700"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#1)"    
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1700”

# Disable external module in project E.125.1700
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                      | List of Data Changes OR Fields Exported    | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1) | radio_button_manual = '9..9'                  | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1) | [instance = 3], checkbox(2) = checked       | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | reason-for-change-option, highlight-field-when-changed                                        |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1) | [instance = 2], ptname = 'Name1'           | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed   |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 1 (Event 1) | [instance = 2], ptname_v2 = 'Name2'        | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.1700" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1800%20-%20NonRepeating_DoubleArm_withDAGs.feature

Feature: E.125.1800 - NonRepeating_DoubleArm_withDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.1800” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_DoubleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 2" for record ID "1-1" and click on the bubble
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1800"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm Two"
Then I should NOT see a link labeled exactly "2-1"
And I click on the link labeled "Arm 1"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1-1" and click on the bubble
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1800” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.1800 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1800"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click on the bubble
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1800"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1800"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 2" for record ID "1-1" and click on the bubble
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1800”

# Disable external module in project E.125.1800
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                     | List of Data Changes OR Fields Exported    | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 2 (Arm 1: Arm 1)) | radio_button_manual = '9..9'                 | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1 (Arm 1: Arm 1)) | checkbox(2) = checked                      | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | reason-for-change-option, highlight-field-when-changed                                        |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1 (Arm 1: Arm 1)) | ptname = 'Name1'                           | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed   |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 1-1 (Event 2 (Arm 1: Arm 1)) | ptname_v2 = 'Name2'                        | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.1800" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.1900%20-%20NonRepeating_DoubleArm_noDAGs.feature

Feature: E.125.1900 - NonRepeating_DoubleArm_noDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.1900” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_DoubleArm_noDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_DoubleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 2" for record ID "1" and click on the bubble
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1900"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm Two"
Then I should see a link labeled exactly "2"
And I click on the link labeled "Arm 1"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1900” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.1900 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1900"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1900"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.1900"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 2" for record ID "1" and click on the bubble
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.1900”

# Disable external module in project E.125.1900
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                   | List of Data Changes OR Fields Exported      | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 2 (Arm 1: Arm 1)) | radio_button_manual = '9..9'                 | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1 (Arm 1: Arm 1)) | checkbox(2) = checked                          | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | reason-for-change-option, highlight-field-when-changed                                        |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1 (Arm 1: Arm 1)) | ptname = 'Name1'                             | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed   |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 1 (Event 2 (Arm 1: Arm 1)) | ptname_v2 = 'Name2'                          | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.1900" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2000%20-%20NonRepeating_SingleArm_withDAGs.feature

Feature: E.125.2000 - NonRepeating_SingleArm_withDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.2000” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_SingleArm_withDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_SingleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 2" for record ID "1-1" and click on the bubble
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2000"
When I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled exactly "Arm Two"
And I should NOT see a link labeled exactly "2-1"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1-1" and click on the bubble
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2000” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.2000 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2000"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click on the bubble
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2000"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2000"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 2" for record ID "1-1" and click on the bubble
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2000”

# Disable external module in project E.125.2000
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                      | List of Data Changes OR Fields Exported    | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 2) | radio_button_manual = '9..9'               | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1) | checkbox(2) = checked                      | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | reason-for-change-option, highlight-field-when-changed                                        |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1) | ptname = 'Name1'                           | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed   |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 1-1 (Event 2) | ptname_v2 = 'Name2'                        | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.2000" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2100%20-%20NonRepeating_SingleArm_noDAGs.feature

Feature: E.125.2100 - NonRepeating_SingleArm_noDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.2100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_SingleArm_noDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_SingleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 2" for record ID "1" and click on the bubble
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2100"
When I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled exactly "Arm Two"
And I should see a link labeled exactly "2"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2100” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.2100 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2100"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2100"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2100"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 2" for record ID "1" and click on the bubble
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2100”

# Disable external module in project E.125.2100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                      | List of Data Changes OR Fields Exported  | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 2) | radio_button_manual = '9..9'                 | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1) | checkbox(2) = checked                        | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | reason-for-change-option, highlight-field-when-changed                                        |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1) | ptname = 'Name1'                           | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed   |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 1 (Event 2) | ptname_v2 = 'Name2'                        | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.2100" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2200%20-%20RepeatingInstruments_DoubleArm_withDAGs.feature

Feature: E.125.2200 - RepeatingInstruments_DoubleArm_withDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.2200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_DoubleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
Then I click on the link labeled "Arm Two"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2-1" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2200"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm Two"
Then I should NOT see a link labeled exactly "2-1"
And I click on the link labeled "Arm 1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2200” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.2200 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2200"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2200"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2200"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the first instance
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2200”

# Disable external module in project E.125.2200
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                       | List of Data Changes OR Fields Exported    | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                    |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1 (Arm 1: Arm 1))   | radio_button_manual = '9..9'               | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1 (Arm 1: Arm 1))   | [instance = 3], checkbox(2) = checked        | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | reason-for-change-option, highlight-field-when-changed                                      |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1 (Arm 1: Arm 1))   | [instance = 2], ptname = 'Name1'           | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                     |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 2-1 (Event 1 (Arm 2: Arm Two)) | [instance = 2], ptname_v2 = 'Name2'        | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.2200" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2300%20-%20RepeatingInstruments_DoubleArm_noDAGs.feature

Feature: E.125.2300 - RepeatingInstruments_DoubleArm_noDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.2300” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_DoubleArm_noDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_DoubleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
Then I click on the link labeled "Arm Two"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2300"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm Two"
Then I should see a link labeled exactly "2"
And I click on the link labeled "Arm 1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2300” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.2300 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2300"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2300"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2300"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the first instance
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2300”

# Disable external module in project E.125.2300
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                     | List of Data Changes OR Fields Exported    | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1 (Arm 1: Arm 1))   | radio_button_manual = '9..9'                 | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1 (Arm 1: Arm 1))   | [instance = 3], checkbox(2) = checked      | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | reason-for-change-option, highlight-field-when-changed                                        |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1 (Arm 1: Arm 1))   | [instance = 2], ptname = 'Name1'           | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed   |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 2 (Event 1 (Arm 2: Arm Two)) | [instance = 2], ptname_v2 = 'Name2'        | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.2300" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2400%20-%20RepeatingInstruments_SingleArm_withDAGs.feature

Feature: E.125.2400 - RepeatingInstruments_SingleArm_withDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.2400” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_SingleArm_withDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_SingleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2-1" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2400"
When I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm Two"
And I should NOT see a link labeled exactly "Arm 1"
Then I should NOT see a link labeled exactly "2-1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2400” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.2400 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2400"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2400"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2400"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the first instance
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2400”

# Disable external module in project E.125.2400
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                        | List of Data Changes OR Fields Exported   | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                    |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1)   | radio_button_manual = '9..9'                | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1)   | [instance = 3], checkbox(2) = checked       | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | reason-for-change-option, highlight-field-when-changed                                      |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1 (Event 1)   | [instance = 2], ptname = 'Name1'          | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                     |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 2-1 (Event 1)   | [instance = 2], ptname = 'Name2'          | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.2400" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2500%20-%20RepeatingInstruments_SingleArm_noDAGs.feature

Feature: E.125.2500 - RepeatingInstruments_SingleArm_noDAGs

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.2500” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_SingleArm_noDAGs.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_SingleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2500"
When I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm Two"
And I should NOT see a link labeled exactly "Arm 1"
Then I should see a link labeled exactly "2"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2500” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.2500 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2500"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2500"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2500"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the first instance
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2500”

# Disable external module in project E.125.2500
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                        | List of Data Changes OR Fields Exported | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                    |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1)   | radio_button_manual = '9..9'              | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1)   | [instance = 3], checkbox(2) = checked     | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | reason-for-change-option, highlight-field-when-changed                                      |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1)   | [instance = 2], ptname = 'Name1'          | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                     |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 2 (Event 1)   | [instance = 2], ptname = 'Name2'          | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.2500" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2600%20-%20NonLongitudinal_RepeatingInstruments_withDAGS.feature

Feature: E.125.2600 - NonLongitudinal_RepeatingInstruments_withDAGS

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.2600” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_RepeatingInstruments_withDAGS.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_RepeatingInstruments_withDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2600"
When I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm Two"
And I should NOT see a link labeled exactly "Arm 1"
Then I should NOT see a link labeled exactly "2-1"
When I locate the bubble for the "Data Types" instrument for record ID "1-1" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2600” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.2600 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2600"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "1-1" and click the repeating instrument bubble for the third instance
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2600"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2600"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "1-1" and click the repeating instrument bubble for the first instance
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2600”

# Disable external module in project E.125.2600
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action             | List of Data Changes OR Fields Exported  | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                    |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1  | radio_button_manual = '9..9'               | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1  | [instance = 3], checkbox(2) = checked    | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | reason-for-change-option, highlight-field-when-changed                                      |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1  | [instance = 2], ptname = 'Name1'         | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                     |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 2-1  | [instance = 2], ptname = 'Name2'         | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.2600" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2700%20-%20NonLongitudinal_RepeatingInstruments_noDAGS.feature

Feature: E.125.2700 - NonLongitudinal_RepeatingInstruments_noDAGS

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.2700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_RepeatingInstruments_noDAGS.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_RepeatingInstruments_noDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2700"
When I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm Two"
And I should NOT see a link labeled exactly "Arm 1"
Then I should see a link labeled exactly "2"
When I locate the bubble for the "Data Types" instrument for record ID "1" and click the repeating instrument bubble for the second instance
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2700” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.2700 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2700"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "1" and click the repeating instrument bubble for the third instance
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2700"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2700"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "1" and click the repeating instrument bubble for the first instance
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2700”

# Disable external module in project E.125.2700
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action           | List of Data Changes OR Fields Exported  | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1  | radio_button_manual = '9..9'             | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1  | [instance = 3], checkbox(2) = checked      | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | reason-for-change-option, highlight-field-when-changed                                        |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1  | [instance = 2], ptname = 'Name1'         | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed   |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 2  | [instance = 2], ptname = 'Name2'         | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.2700" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2800%20-%20NonLongitudinal_NonRepeatingInstruments_withDAGS.feature

Feature: E.125.2800 - NonLongitudinal_NonRepeatingInstruments_withDAGS

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.2800” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_NonRepeatingInstruments_withDAGS.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_NonRepeatingInstruments_withDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Text Validation" instrument for record ID "2-1" and click on the bubble
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2800"
When I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm Two"
And I should NOT see a link labeled exactly "Arm 1"
Then I should NOT see a link labeled exactly "2-1"
When I locate the bubble for the "Text Validation" instrument for record ID "1-1" and click on the bubble
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2800” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.2800 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2800"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "1-1" and click on the bubble
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2800"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2800"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "1-1" and click on the bubble
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2800”

# Disable external module in project E.125.2800
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action             | List of Data Changes OR Fields Exported  | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                    |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1  | radio_button_manual = '9..9'               | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1  | checkbox(2) = checked                    | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | reason-for-change-option, highlight-field-when-changed                                      |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1-1  | ptname = 'Name1'                         | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                     |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 2-1  | ptname = 'Name2'                         | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.2800" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Reason%20For%20Change_125/E.125.2900%20-%20NonLongitudinal_NonRepeatingInstruments_noDAGS.feature

Feature: E.125.2900 - NonLongitudinal_NonRepeatingInstruments_noDAGS

As a REDCap end user I want to see that Enhance reason for change is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

# E.125.700
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "Default Option 1" into the input field labeled "1. Provides a default option for the reason for change dropdown"
And I click on the button labeled "+" in the dialog box
When I enter "Default Option 2" into the input field labeled "2. Provides a default option for the reason for change dropdown"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.125.2900” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_NonRepeatingInstruments_noDAGS.xml”, and clicking the “Create Project” button

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_NonRepeatingInstruments_noDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Enable reason for change
When I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
Then I click on the button labeled "Save"

# Non-repeating event
Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Text Validation" instrument for record ID "2" and click on the bubble
And I clear field and enter "Name2" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should NOT see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I enter "Reason 1" into the textarea field labeled "Reason for changes:" in the dialog box
And I click on the button labeled "Save" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance reason for change - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance reason for change - v0.0.0"
Then I should see "Enhance reason for change - v0.0.0"

#VERIFY - E.125.700
Given I click on the button labeled "Configure"
Then I should see "Configure Module"
When I check the checkbox labeled "When checked, a dropdown of reasons for change will be available for the user to select from"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance reason for change - v0.0.0"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2900"
When I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled exactly "2"
When I locate the bubble for the "Text Validation" instrument for record ID "1" and click on the bubble
And I clear field and enter "Name1" into the input field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should NOT see the field labeled "Name" with a colored right border
And I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Default Option 1" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2900” When I click on the link labeled exactly “Manage” And I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box # E.125.2900 And I enter “Option 3” into the input field labeled “1. Provide an option for the reason for change dropdown” in the dialog box And I click on the button labeled “+” in the dialog box And I enter “Option 4” into the input field labeled “2. Provide an option for the reason for change dropdown” in the dialog box # E.125.900 And I check the checkbox labeled “When checked, any change to a field will highlight its row’s right border” in the dialog box Then I click on the button labeled “Save” in the dialog box And I should see “Enhance reason for change - v0.0.0” And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2900"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "1" and click on the bubble
And I check the checkbox labeled "Checkbox2"
And I click on the button labeled "Save & Exit Form"
Then I should see the field labeled "Checkbox" with a 2px "solid" right border in "red" color
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 3" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2900"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
# E.125.1000
When I enter "dashed 4px blue" into the input field labeled "The style to apply to the highlight border"
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance reason for change - v0.0.0"

# Add DataEntryPI with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance reason for change" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"
And I logout

# E.125.1200, E.125.1300
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.125.2900"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "1" and click on the bubble
And I select "Choice101" on the radio field labeled "Radio Button Manual"
Then I should see the field labeled "Radio Button Manual" with a 4px "dashed" right border in "blue" color
And I click on the button labeled "Save & Exit Form"
Then I should see "Choose a standard reason or enter free text. Changing the selection will overwrite existing content." in the dialog box
And I select "Option 4" on the dropdown field labeled "Reason for changes"
And I click on the button labeled "Save" in the dialog box

#VERIFY - E.125.1100 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, a dropdown of reasons for change will be available for the user to select from" in the dialog box
And I should NOT see "1. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "2. Provide an option for the reason for change dropdown" in the dialog box
And I should NOT see "When checked, any change to a field will highlight its row's right border" in the dialog box
And I should NOT see "The style to apply to the highlight border" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I logout

Scenario: E.125.100 - Disable external module Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.125.2900”

# Disable external module in project E.125.2900
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action             | List of Data Changes OR Fields Exported  | Reason for Data Change(s) |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                    |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1  | radio_button_manual = '9..9'             | Option 4                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | highlight-field-when-changed-style                                                          |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1  | checkbox(2) = checked                      | Option 3                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | reason-for-change-option, highlight-field-when-changed                                      |                           |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1  | ptname = 'Name1'                         | Default Option 1          |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project   | provide-reasons-for-change-dropdown, reason-for-change-option, highlight-field-when-changed |                           |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                     |                                                                                             |                           |
  | mm/dd/yyyy hh:mm | test_admin | Update record 2  | ptname = 'Name2'                         | Reason 1                  |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance reason for change - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.125.2900" in the dialog box
And I close the dialog box for the external module "Enhance reason for change"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance reason for change - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for system                   | 
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_reason_for_change_v0.0.0" for project                  | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for project | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for project                   | 
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_reason_for_change_v0.0.0" for system  | 
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_reason_for_change_v0.0.0" for system                    |    

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_reason_for_change"

Comments:

Comment:

Author: rmh54 Updated on: 4/1/2025 2:26:32 PM

Comment body:

As discussed, this needs to be tested for each (or most or whatever is deemed appropriate) ‘flavour’ of project i.e. whether it is longitudinal, uses DAGs, arms or has repeating instruments

Comment:

Author: MintooXavier Updated on: 7/10/2025 11:34:29 AM

Comment body:

Added the scripts for 16 project types


Timeline events:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:33:09 PM Label name: Automated Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:33:09 PM Label name: External Module Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:33:09 PM Label name: Gherkin Label description: Uses a Gherkin syntax

ASSIGNED | User: MintooXavier Created on: 2/3/2025 3:33:09 PM Assignee: MintooXavier

ISSUE COMMENT | User: rmh54 Created on: 4/1/2025 2:26:32 PM Issue comment body:

As discussed, this needs to be tested for each (or most or whatever is deemed appropriate) ‘flavour’ of project i.e. whether it is longitudinal, uses DAGs, arms or has repeating instruments

ISSUE COMMENT | User: MintooXavier Created on: 7/10/2025 11:34:29 AM Issue comment body:

Added the scripts for 16 project types


————— feature ends —————



Feature: 105. Send-It

Id: I_kwDOIaOBn86LVwat Uid: redcap_cypress-43
Author: MintooXavier Created: 6/6/2024 9:00:05 AM
Assignees: MintooXavier || rukayat-yakub Resource path: /CCTC-team/redcap_cypress/issues/43
Milestone: |none| Labels: Non-core feature || Gherkin || Automated || Manual

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:57:49 PM
Locked: false Participants: MintooXavier || rukayat-yakub

Project item body:

Brief description:
This feature is used to share files.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/105_send_it.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Send%20It_105/D.105.100%20-%20Send%20File%20To%20User.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Send%20It_105/D.105.200%20-%20Receive%20Email%20Confirmation.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Send%20It_105/D.105.300%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/105_send_it.spec

D.105.100 - The system shall support the ability to send a file to user/users.
D.105.200 - The system shall support the ability to receive email confirmation of file download from user/users.
D.105.300 - The system shall support the ability to specify expiration time after which the file will no longer be accessible for download.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Send%20It_105/D.105.100%20-%20Send%20File%20To%20User.feature

Feature: Send It: D.105.100 - The system shall support the ability to send a file to user/users.

As a REDCap end user I want to see that Send It is functioning as expected

Scenario: D.105.100 Send a file to user Given I login to REDCap with the user “Test_User1” When I click on the link labeled “Send-It” Then I should see the dropdown field labeled “From:” with the option “Test_User1@test.edu” selected When I enter “joe@abc.com; paul@abc.com” into the textarea field labeled “To:” And I enter “Send-it file” into the input field labeled “Email subject:” And I enter “Send-it csv file” into the textarea field labeled “Email message:” And I select “2 days” on the dropdown field labeled “Expiration:” Then I upload a file located at “/import_files/redcap_val/redcap_val_Data_Import.csv” by clicking on the button labeled “Choose file” And I click on the button labeled “Send It!” Then I should see “File successfully uploaded!”

# Download the file
Given I open Email
# Two emails sent, each containing a password and a link for the respective user
Then I should see 2 emails for user "joe@abc.com"
And I should see 2 emails for user "paul@abc.com"
When I copy the password for user "joe@abc.com" from the email with subject "Re: [REDCap Send-It] Send-it file"
And I click on the link in the email for user "joe@abc.com" with subject "[REDCap Send-It] Send-it file"
And I paste the password into the input field
When I click on the button labeled "Download File"
Then I should see "SUCCESS! The file will begin downloading momentarily."
Then I should see a downloaded file named "redcap_val_Data_Import.csv"
And I should have the latest downloaded "csv" file that contains the headings below
  | record_id | redcap_event_name | redcap_repeat_instrument | redcap_repeat_instance | ptname_v2_v2 | email_v2 | text_validation_complete | ptname | textbox | multiple_dropdown_manual | radio_button_manual | checkbox___1 | checkbox___2 | checkbox___3 | file_upload | required | data_types_complete |

And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Send%20It_105/D.105.200%20-%20Receive%20Email%20Confirmation.feature

Feature: Send It: D.105.200 - The system shall support the ability to receive email confirmation of file download from the user/users.

As a REDCap end user I want to see that Send It is functioning as expected Scenario: Set email address for Redcap Admin Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system Given I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed” Given I logout

Scenario: D.105.200 - Received Email Confirmation Given I login to REDCap with the user “Test_User1” When I click on the link labeled “Send-It” Then I should see the dropdown field labeled “From:” with the option “Test_User1@test.edu” selected When I enter “dave@abc.com” into the textarea field labeled “To:” And I enter “Send-it file” into the input field labeled “Email subject:” And I enter “Send-it csv file” into the textarea field labeled “Email message:” #The file will expire and become inaccessible after 4 days And I select “4 days” on the dropdown field labeled “Expiration:” Then I upload a file located at “/import_files/redcap_val/redcap_val_Data_Import.csv” by clicking on the button labeled “Choose file” And I check the checkbox labeled “Receive confirmation?” And I click on the button labeled “Send It!” Then I should see “File successfully uploaded!”

# Download the file
Given I open Email
# Two emails sent, each containing a password and a link for the user
Then I should see 2 emails for user "dave@abc.com"
And I copy the password for user "dave@abc.com" from the email with subject "Re: [REDCap Send-It] Send-it file"
And I click on the link in the email for user "dave@abc.com" with subject "[REDCap Send-It] Send-it file"
Then I paste the password into the input field
When I click on the button labeled "Download File"
Then I should see "SUCCESS! The file will begin downloading momentarily."
And I should see a downloaded file named "redcap_val_Data_Import.csv"
And I should have the latest downloaded "csv" file that contains the headings below
  | record_id | redcap_event_name | redcap_repeat_instrument | redcap_repeat_instance | ptname_v2_v2 | email_v2 | text_validation_complete | ptname | textbox | multiple_dropdown_manual | radio_button_manual | checkbox___1 | checkbox___2 | checkbox___3 | file_upload | required | data_types_complete |

##VERIFY: Verify email confirmation is received
Given I open Email
Then I should see an email for user "Test_User1@test.edu" with subject "[REDCap Send-It] Confirmation of file download"

# # Step definition for changing the system date is not implemented. Hence the below steps need to be verified manually
# # D.105.300 - Verify the link expires after Expiration Time (4 days)
# Given I change the system date by 4 days
# When I open Email
# Then I should see an email for user "dave@abc.com" with subject "[REDCap Send-It] Send-it file"
# And I click on the link in the email for user "dave@abc.com" with subject "[REDCap Send-It] Send-it file"
# Then I should see "The file has expired."
And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Send%20It_105/D.105.300%20-%20REDUNDANT.feature

Feature: Send It: D.105.300 - The system shall support the ability to specify expiration time after which the file will no longer be accessible for download.

This feature test is REDUNDANT and can be viewed in D.105.200


Comments:

Comment:

Author: MintooXavier Updated on: 9/19/2024 9:10:21 AM

Comment body:
  1. Change step definition to ‘I should see the dropdown field labeled “Participant List” with the option’“Consent” - Event 1 (Arm 1: Arm 1)’ selected’ instead of
    And I should see “From: test_user@example.com”
  2. Maybe use test_user@example.com to send email.. Don’t think we can automate this.
    And I select “associate another email to your account” on the dropdown field labeled “From”
  3. Rewrite with step definition to select from dropdown.
    And I enter “1 day” into the input field labeled “Expiration:”
  4. Use the upload step definition and specify the name of file. (Upload a ’’ file - this step definition may not be correct but use it)
    When I click on the button labeled “Choose File”
  5. The password can be different. so don’t specify the password. Write a new step defintion which says ‘copy password’ after this. Change similarly in other locations.
    Then I should see “Below is the password for downloading the file mentioned in the previous email. D844ELR9”
  6. You have to click on the link labeled Inbox and then specify the email subject to click, like you did above.
  7. The links can be different. Write a new step definition: I click on the link containning “SendItController”.
    When I click on the link labeled “https://localhost:8443/surveys/index.php?__passthru=index.php&route=SendItController%3Adownload&E508544F7F83ACEBC91E73F16”
  8. Wite a new step definition - “I enter the password into the input field labeled”Enter password:” Similarly change in other locations.
    And I enter “D844ELR9” into the input field labeled “Enter password:”
  9. login to redcap and visit the page before doing this.
  10. Not sure if you can see this when logged in again. Probably best to take it out.
    And I should see “SEND ANOTHER FILE?”
  11. Steps to verify expiration time is missing. Please add those.
  12. Did you check this in Live environment as I didn’t get the confirmation email in MailHog?? Not sure how we can automate the checking of expiration date as the minimum time is 1 day. Anyway write the steps for it, and when it comes to automating, I’ll think about it. Worst case, we can check it manually.
  13. Please make sure the changes specified should be applied throughout.. I havn’t specified it for every occurance.

@rukayat-yakub : Review completed

Comment edits:

Created: 9/19/2024 9:10:21 AM Edited on: 9/19/2024 9:10:21 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Change step definition to ‘I should see the dropdown field labeled “Participant List” with the option’“Consent” - Event 1 (Arm 1: Arm 1)’ selected’ instead of https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L10
  2. Maybe use test_user@example.com to send email.. Don’t think we can automate this. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L11
  3. Rewrite with step definition to select from dropdown. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L37
  4. Use the upload step definition and specify the name of file. (Upload a ’’ file - this step definition may not be correct but use it) https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L39
  5. The password can be different. so don’t specify the password. Write a new step defintion which says ‘copy password’ after this. Change similarly in other locations. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L49
  6. You have to click on the link labeled Inbox and then specify the email subject to click, like you did above. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L50
  7. The links can be different. Write a new step definition: I click on the link containning “SendItController”. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L51
  8. Wite a new step definition - “I enter the password into the input field labeled”Enter password:” Similarly change in other locations. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L53
  9. login to redcap and visit the page before doing this. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L59
  10. Not sure if you can see this when logged in again. Probably best to take it out. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L60
  11. Steps to verify expiration time is missing. Please add those.
  12. Did you check this in Live environment as I didn’t get the confirmation email in MailHog?? Not sure how we can automate the checking of expiration date as the minimum time is 1 day. Anyway write the steps for it, and when it comes to automating, I’ll think about it. Worst case, we can check it manually.
  13. Please make sure the changes specified should be applied throughout.. I havn’t specified it for every occurance.

@rukayat-yakub : Review completed

Created: 9/18/2024 3:10:49 PM Edited on: 9/18/2024 3:10:49 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Change step definition to ‘I should see the dropdown field labeled “Participant List” with the option’“Consent” - Event 1 (Arm 1: Arm 1)’ selected’ instead of https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L10
  2. Maybe use test_user@example.com to send email.. Don’t think we can automate this. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L11
  3. Rewrite with step definition to select from dropdown. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L37
  4. Use the upload step definition and specify the name of file. (Upload a ’’ file - this step definition may not be correct but use it) https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L39
  5. The password can be different. so don’t specify the password. Write a new step defintion which says ‘copy password’ after this. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L49
  6. You have to click on the link labeled Inbox and then specify the email subject to click, like you did above. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L50

Created: 9/18/2024 3:10:29 PM Edited on: 9/18/2024 3:10:29 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Change step definition to ‘I should see the dropdown field labeled “Participant List” with the option’“Consent” - Event 1 (Arm 1: Arm 1)’ selected’ instead of https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L10
  2. Maybe use test_user@example.com to send email.. Don’t think we can automate this. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L11
  3. Rewrite with step definition to select from dropdown. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L37
  4. Use the upload step definition and specify the name of file. (Upload a ’’ file - this step definition may not be correct but use it) https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L39
  5. The password can be different. so don’t specify the password. Write a new step defintion which says ‘copy password’ after this. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L49
  6. You have to click on the link labeled Inbox and then specify the email subject to click, like you did above.

Created: 9/18/2024 3:10:29 PM Edited on: 9/18/2024 3:04:38 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Change step definition to ‘I should see the dropdown field labeled “Participant List” with the option’“Consent” - Event 1 (Arm 1: Arm 1)’ selected’ instead of https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L10
  2. Maybe use test_user@example.com to send email.. Don’t think we can automate this. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L11
  3. Rewrite with step definition to select from dropdown. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L37
  4. Use the upload step definition and specify the name of file. (Upload a ’’ file - this step definition may not be correct but use it) https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L39

Comment:

Author: rukayat-yakub Updated on: 10/7/2024 7:41:49 PM

Comment body:

@MintooXavier

  1. Comment 2: I am thinking to remove the whole process since it can’t be automated.. and added send a file to user instead.. Hope that is okay?.
  2. Comment 12. I got the confirmation email in MailHog ,check if you check the checkbox labeled “Receive Confirmation?”

Comment edits:

Created: 10/7/2024 7:41:49 PM Edited on: 10/7/2024 7:41:49 PM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

@MintooXavier 1. Comment 2: I am thinking to remove the whole process since it can’t be automated.. and added send a file to user instead.. Hope that is okay?. 2. Comment 12. I got the confirmation email in MailHog ,check if you check the checkbox labeled “Receive Confirmation?”

Created: 10/7/2024 7:41:49 PM Edited on: 10/7/2024 7:15:46 PM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

@MintooXavier 1. In regards to this -Maybe use test_user@example.com to send email.. Don’t think we can automate this. I am thinking to remove the whole process since it can’t be automated.. and added send a file to user instead.. Hope that is okay?. 2. In regards to number 12. I got the confirmation email in MailHog ,check if you check the checkbox labeled “Receive Confirmation?”

Comment:

Author: MintooXavier Updated on: 10/16/2024 11:23:07 AM

Comment body:
  1. Step 1 not done. I had given an example as well. As I have said always, When you write: I should see “abc”, then you should actually see it on screen. i.e. When you type Cntl+F and search for “abc”, you should find it on the screen. You don’t see this. it is a dropdown with an option selected.
    And I should see “From: test_user@example.com”
  2. step 6 not done correctly
  3. I have restructured the steps. Also split it into 2 files as URS 1 and 2 are not dependent on each other, we can add separate feature files for it. For email verification, I have aaded only 1 user (in To field) as it is easier to verify, else have to verify for both users. And added 2 users in D.105.100.
    D.105.100 - Send a file to 2 users and the users download the file
    D.105.200 - Send a file to a user (with email confirmation checked). The user downloads, then confirmation is received and then later expiration time checked.(D.105.300 - checked here)

Comment edits:

Created: 10/16/2024 11:23:07 AM Edited on: 10/16/2024 11:23:07 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Step 1 not done. I had given an example as well. As I have said always, When you write: I should see “abc”, then you should actually see it on screen. i.e. When you type Cntl+F and search for “abc”, you should find it on the screen. You don’t see this. it is a dropdown with an option selected. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L10
  2. step 6 not done correctly
  3. I have restructured the steps. Also split it into 2 files as URS 1 and 2 are not dependent on each other, we can add separate feature files for it. For email verification, I have aaded only 1 user (in To field) as it is easier to verify, else have to verify for both users. And added 2 users in D.105.100. D.105.100 - Send a file to 2 users and the users download the file D.105.200 - Send a file to a user (with email confirmation checked). The user downloads, then confirmation is received and then later expiration time checked.(D.105.300 - checked here)

Created: 10/16/2024 11:23:07 AM Edited on: 10/16/2024 10:44:07 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Step 1 not done. I had given an example as well. As I have said always, When you write: I should see “abc”, then you should actually see it on screen. i.e. When you type Cntl+F and search for “abc”, you should find it on the screen. You don’t see this. it is a dropdown with an option selected. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Send%20It_105/D.105.100%20-%20Send%20It.feature#L10
  2. step 6 not done correctly
  3. I have restructured the steps. Also split it into 2 files as URS 1 and 2 are not dependent on each other, we can add separate feature files for it. For email verification, I have aaded only 1 user (in To field) as it is easier to verify, else have to verify for both users. And added 2 users in D.105.100.

Comment:

Author: MintooXavier Updated on: 11/29/2024 1:31:14 PM

Comment body:

Automated the following:
D.105.100

D.105.200 - One more step to automate. Issue with altering the cypress clock and then visiting the link. Probably need to modify server time.. i.e. time in Docker

Comment edits:

Created: 11/29/2024 1:31:14 PM Edited on: 11/29/2024 1:31:14 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Automated the following: D.105.100

D.105.200 - One more step to automate. Issue with altering the cypress clock and then visiting the link. Probably need to modify server time.. i.e. time in Docker

Created: 11/29/2024 1:31:14 PM Edited on: 11/27/2024 3:23:36 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Automated the following: D.105.100

D.105.200 - One more step to automate. Issue with altering the cypress clock and then visiting the link


Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 9:00:05 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 9:00:06 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 9:00:06 AM Assignee: MintooXavier

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:44:04 PM Previous title: 5. Send-It Current title: 105. Send-It

LABELLED | User: rukayat-yakub Created on: 9/3/2024 3:14:29 AM Label name: Gherkin Label description: Uses a Gherkin syntax

ASSIGNED | User: MintooXavier Created on: 9/3/2024 9:08:42 AM Assignee: rukayat-yakub

UNASSIGNED | User: MintooXavier Created on: 9/3/2024 9:08:57 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 9/18/2024 3:04:38 PM Issue comment body:
  1. Change step definition to ‘I should see the dropdown field labeled “Participant List” with the option’“Consent” - Event 1 (Arm 1: Arm 1)’ selected’ instead of
    And I should see “From: test_user@example.com”
  2. Maybe use test_user@example.com to send email.. Don’t think we can automate this.
    And I select “associate another email to your account” on the dropdown field labeled “From”
  3. Rewrite with step definition to select from dropdown.
    And I enter “1 day” into the input field labeled “Expiration:”
  4. Use the upload step definition and specify the name of file. (Upload a ’’ file - this step definition may not be correct but use it)
    When I click on the button labeled “Choose File”
  5. The password can be different. so don’t specify the password. Write a new step defintion which says ‘copy password’ after this. Change similarly in other locations.
    Then I should see “Below is the password for downloading the file mentioned in the previous email. D844ELR9”
  6. You have to click on the link labeled Inbox and then specify the email subject to click, like you did above.
  7. The links can be different. Write a new step definition: I click on the link containning “SendItController”.
    When I click on the link labeled “https://localhost:8443/surveys/index.php?__passthru=index.php&route=SendItController%3Adownload&E508544F7F83ACEBC91E73F16”
  8. Wite a new step definition - “I enter the password into the input field labeled”Enter password:” Similarly change in other locations.
    And I enter “D844ELR9” into the input field labeled “Enter password:”
  9. login to redcap and visit the page before doing this.
  10. Not sure if you can see this when logged in again. Probably best to take it out.
    And I should see “SEND ANOTHER FILE?”
  11. Steps to verify expiration time is missing. Please add those.
  12. Did you check this in Live environment as I didn’t get the confirmation email in MailHog?? Not sure how we can automate the checking of expiration date as the minimum time is 1 day. Anyway write the steps for it, and when it comes to automating, I’ll think about it. Worst case, we can check it manually.
  13. Please make sure the changes specified should be applied throughout.. I havn’t specified it for every occurance.

@rukayat-yakub : Review completed

MENTIONED | User: rukayat-yakub Created on: 9/19/2024 9:10:41 AM

SUBSCRIBED | User: rukayat-yakub Created on: 9/19/2024 9:10:41 AM

ISSUE COMMENT | User: rukayat-yakub Created on: 10/7/2024 7:15:46 PM Issue comment body:

@MintooXavier

  1. Comment 2: I am thinking to remove the whole process since it can’t be automated.. and added send a file to user instead.. Hope that is okay?.
  2. Comment 12. I got the confirmation email in MailHog ,check if you check the checkbox labeled “Receive Confirmation?”

MENTIONED | User: MintooXavier Created on: 10/7/2024 7:15:47 PM

SUBSCRIBED | User: MintooXavier Created on: 10/7/2024 7:15:47 PM

ISSUE COMMENT | User: MintooXavier Created on: 10/16/2024 10:44:07 AM Issue comment body:
  1. Step 1 not done. I had given an example as well. As I have said always, When you write: I should see “abc”, then you should actually see it on screen. i.e. When you type Cntl+F and search for “abc”, you should find it on the screen. You don’t see this. it is a dropdown with an option selected.
    And I should see “From: test_user@example.com”
  2. step 6 not done correctly
  3. I have restructured the steps. Also split it into 2 files as URS 1 and 2 are not dependent on each other, we can add separate feature files for it. For email verification, I have aaded only 1 user (in To field) as it is easier to verify, else have to verify for both users. And added 2 users in D.105.100.
    D.105.100 - Send a file to 2 users and the users download the file
    D.105.200 - Send a file to a user (with email confirmation checked). The user downloads, then confirmation is received and then later expiration time checked.(D.105.300 - checked here)

ASSIGNED | User: MintooXavier Created on: 11/11/2024 3:03:14 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 11/27/2024 3:23:36 PM Issue comment body:

Automated the following:
D.105.100

D.105.200 - One more step to automate. Issue with altering the cypress clock and then visiting the link. Probably need to modify server time.. i.e. time in Docker

LABELLED | User: MintooXavier Created on: 11/27/2024 3:23:46 PM Label name: Automated Label description:


————— feature ends —————



Feature: 129. Concurrent User Access

Id: I_kwDOIaOBn86zpvZ7 Uid: redcap_cypress-90
Author: MintooXavier Created: 4/23/2025 1:39:19 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/90
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 4/24/2025 1:46:22 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description: This script is to check concurrent user access in REDCap

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/129_concurrent_users.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Concurrent%20Users_129/D.129.100%20-%20Concurrent%20users.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Concurrent%20Users_129/D.129.200%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/129_concurrent_users.spec

D.129.100 - he system shall prevent multiple users from concurrently editing the same instrument within a project.
D.129.200 - The system shall allow multiple users to log in to a project and edit different instruments simultaneously.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Concurrent%20Users_129/D.129.100%20-%20Concurrent%20users.feature

Feature: D.129.100 - The system shall prevent multiple users from concurrently editing the same instrument within a project.

As a REDCap end user
I want to see that users cannot access the same instrument at the same time

Scenario: D.129.100 Given I login to REDCap with the user “Test_User1” And I create a new project named “D.129.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

When I click on the link labeled "User Rights"
And I enter "Test_User2" into the field with the placeholder text of "Add new user"
And I click on the button labeled "Add with custom rights"
And I click on the button labeled "Add user"
Then I should see "Test User2"

When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "6" in the data entry form field "Calculated Field"

Given I login to REDCap with the user "Test_User2"
And I click on the link labeled "My Projects"
And I click on the link labeled "D.129.100"
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "Simultaneous users - Data editing capabilities are disabled (read-only mode)"

Scenario: D.129.200 When I click on the link labeled “Record Status Dashboard” And I locate the bubble for the “Text Validation” instrument on event “Event 1” for record ID “1” and click on the bubble Then I should NOT see “Simultaneous users - Data editing capabilities are disabled (read-only mode)” And I clear field and enter “Name1” into the data entry form field labeled “Name”

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Concurrent%20Users_129/D.129.200%20-%20REDUNDANT.feature

Feature: D.129.200 - The system shall allow multiple users to log in to a project and edit different instruments simultaneously.

This feature test is REDUNDANT and can be viewed in D.129.100


Comments:


Timeline events:

LABELLED | User: MintooXavier Created on: 4/23/2025 1:39:19 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 4/24/2025 10:22:27 AM Assignee: MintooXavier

LABELLED | User: MintooXavier Created on: 4/24/2025 10:22:46 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 4/24/2025 10:23:43 AM Label name: Gherkin Label description: Uses a Gherkin syntax


————— feature ends —————



Feature: 4. Project Setup

Id: I_kwDOIaOBn86LNW5C Uid: redcap_cypress-32
Author: MintooXavier Created: 6/5/2024 10:35:19 AM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/32
Milestone: |none| Labels: Core feature || Gherkin || Automated || PQ

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:06:03 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to test if a project can be created, deleted and the different project settings.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/04_project_setup.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.100%20-%20User%20Create%20Projects.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.200%20-%20Move%20to%20Production.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.300%20-%20REDUNDANT%20Edit%20Survey%20Responses.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.400%20-%20Draft%20Mode.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.500%20-%20Repeatable%20Instruments.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.600%20-%20Events%20and%20Arms%20in%20Production.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.700%20-%20Blank%20Slate%20Projects.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.800%20-%20Project%20Title.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.900%20-%20Project%20Purpose.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.1000%20-%20Project%20Copy.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.1100%20-%20Erase%20data%20in%20Development%20Mode.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.1200%20-%20Delete%20Project.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.1300%20-%20Enable%20%26%20Disable%20Survey.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.1400%20-%20Repeating%20Surveys.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.1500%20-%20Manage%20Survey%20User..feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.1600%20-%20Edit%20Survey%20Responses.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/04_project_setup.spec

A.6.4.100 - Control Center: The system shall support the option to limit the creation of new projects to administrators.
A.6.4.200 - Control Center: The system shall support the option to limit moving projects to production to the administrators.
A.6.4.300 - Control Center: The system shall support enabling users to edit survey responses.
A.6.4.400 - Control Center: The system shall allow production Draft Mode changes to be approved automatically under certain conditions.
A.6.4.500 - Control Center: The system shall support the option to limit adding or modifying repeatable instruments while in production to administrators
A.6.4.600 - Control Center: The system shall support the option to limit adding or modifying events and arms while in production to administrators. Note: The user can add an instrument to an event in production.
A.6.4.700 - User Interface - General: The system shall support creating new projects from a blank slate.
B.6.4.800 - User Interface: General: The system shall support customization of project titles.
B.6.4.900 - User Interface: General: The system shall support the designation of the purpose of the project.
B.6.4.1000 - User Interface: General: The system shall support the ability to copy the project, all users, and all data.
B.6.4.1100 - User Interface: General: The system shall support the ability to erase all data for a project at once only in development.
B.6.4.1200 - User Interface: General: The system shall support the ability to delete projects only in development for project users and in any status for administrators.
B.6.4.1300 - User Interface: Survey Project Settings: The system shall support enabling and disabling survey functionality at the project level.
B.6.4.1400 - User Interface: Survey Project Settings: The system shall support the ability to create repeating surveys.
A.6.4.1500 - Control Center: The system shall allow the survey feature to be enabled or disabled.
A.6.4.1600 - Control Center: The system shall allow users to edit survey responses to be enabled or disabled.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.100%20-%20User%20Create%20Projects.feature

Feature: A.6.4.100 Manage project creation, deletion, and settings

Manage project creation, deletion, and settings Control Center: The system shall support the option to limit the creation of new projects to administrators.

Scenario: A.6.4.100.100 User’s ability to create new projects

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"

When I select "No, only Administrators can create new projects" on the dropdown field labeled "Allow normal users to create new projects?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"

# BEGIN: STEPS FOR ATS
# - EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, project request behavior does not work properly
# - CUSTOM MESSAGE SET - Makes the dialog box pop up when requesting a project
Given I click on the link labeled "General Configuration"
Then I should see "General Configuration"

When I enter "redcap@test.instance" into the input field labeled "Email Address of REDCap Administrator"
And I enter "You are now creating a test project" into the textarea field labeled "Custom message when creating/copying project"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed"
# END: STEPS FOR ATS ###

Given I logout

Given I login to REDCap with the user "Test_User1"
And I create a new project named "A.6.4.100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Send Request" button
And I click on the button labeled "I Agree" in the dialog box
Then I should see "Request Sent!"
Given I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"

When I select "Yes, normal users can create new projects" on the dropdown field labeled "Allow normal users to create new projects?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
And I create a new project named "A.6.4.100.101" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button
And I click on the button labeled "I Agree" in the dialog box
Then I should see "Your new REDCap project has been created"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.200%20-%20Move%20to%20Production.feature

Feature: A.6.4.200 Manage project creation, deletion, and settings

As a REDCap end user I want to see that project management features are functioning as expected

Scenario: A.6.4.200.100 User requests admin move project to production

Given I login to REDCap with the user "Test_Admin"
And I create a new project named "A.6.4.200.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.200.100"
And I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "No, only Administrators can move projects to production" on the dropdown field labeled "Allow normal users to move projects to production?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.200.100"
And I click on the link labeled "Project Setup"
Then I should see a button labeled "Move project to production"

When I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "Yes, Request Admin to Move to Production Status" in the dialog box to request a change in project status
Then I should see "Request pending"
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported           |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Send request to move project to production status |
Given I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.200.100"
And I click on the link labeled "Control Center"
And I click on the link labeled "To-Do List"

Then I should see "Pending Requests"

Given I should see the "Move to prod" request created for the project named "A.6.4.200.100" within the "Pending Requests" table
When I click on the "process request" icon for the "Move to prod" request created for the project named "A.6.4.200.100" within the "Pending Requests" table
Then I should see "Move Project To Production Status" in the dialog box in the iframe

Given I click on the radio labeled "Keep ALL data saved so far." in the dialog box in the iframe
When I click on the button labeled "YES, Move to Production Status" in the dialog box in the iframe
And I close the iframe window
Then I should see the "Move to prod" request created for the project named "A.6.4.200.100" within the "Completed & Archived Requests" table

Given I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.200.100"
Then I should see Project status: "Production"
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Move project to Production status       |

Scenario: A.6.4.200.200 User moves project to production Given I login to REDCap with the user “Test_Admin” And I create a new project named “A.6.4.200.200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “A.6.4.200.200” And I click on the link labeled “User Rights” And I enter “Test_User1” into the field with the placeholder text of “Assign new user to role” And I click on the button labeled “Assign to role” And I select “1_FullRights” on the dropdown field labeled “Select Role” on the role selector dropdown And I click on the button labeled exactly “Assign” on the role selector dropdown Then I should see “Test User1” within the “1_FullRights” row of the column labeled “Username” of the User Rights table

When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "Yes, normal users can move projects to production" on the dropdown field labeled "Allow normal users to move projects to production?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.200.200"
And I click on the link labeled "Project Setup"
Then I should see a button labeled "Move project to production"

Given I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far." in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Move project to Production status       |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.300%20-%20REDUNDANT%20Edit%20Survey%20Responses.feature

Feature: A.6.4.300 Manage project creation, deletion, and settings

Manage project creation, deletion, and settings Control Center: The system shall support enabling users to edit survey responses.

Scenario: A.6.4.300.100 User’s ability to edit survey responses

Given I login to REDCap with the user "Test_Admin"
And I create a new project named "A.6.4.300.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.300.100"

When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

And I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "Enabled" on the dropdown field labeled "Allow users to edit survey responses?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.300.100"
And I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event 1" for record ID "1" and click on the bubble
#Then I should see "Survey response is editable"
Given I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "Disabled" on the dropdown field labeled "Allow users to edit survey responses?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.300.100"
And I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event 1" for record ID "1" and click on the bubble
#Then I should see "Survey response is read-only"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.400%20-%20Draft%20Mode.feature

Feature: A.6.4.400 Manage project creation, deletion, and settings

Manage project creation, deletion, and settings Control Center: The system shall allow production Draft Mode changes to be approved automatically under certain conditions.

Scenario: A.6.4.400.100 User’s ability to approve draft changes without administrative approval

Given I login to REDCap with the user "Test_Admin"
And I create a new project named "A.6.4.400.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/A64400.xml", and clicking the "Create Project" button

# BEGIN: STEPS FOR ATS
# - EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, project request behavior does not work properly
Given I click on the link labeled "Control Center"
And I click on the link labeled "General Configuration"
Then I should see "General Configuration"

When I enter "redcap@test.instance" into the input field labeled "Email Address of REDCap Administrator"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed"
# END: STEPS FOR ATS ###

When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.100"

And I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Move project to Production status       |

When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "Never (always require an admin to approve changes)" on the dropdown field labeled "Allow production Draft Mode changes to be approved automatically under certain conditions?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.100"
And I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"
And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Enter draft mode                        |

When I click on the link labeled "Designer"
When I click on the link labeled "Data Types"
And I click on the Edit image for the field named "Radio Button Manual"

#We are deleting the third option and renaming "100, Choice100" to "101, Choice100" in one step
And I clear field and enter Choices of "9..9, Choice99{enter}101, Choice100" into the open "Edit Field" dialog box

And I click on the button labeled "Save"
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Awaiting review of project changes"
And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported               |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Request approval for production project modifications |

Given I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.100"
And I click on the link labeled "Designer"
Then I should see "REVIEW CHANGES?"

When I click on the button labeled "Project Modification Module"
And I click on the button labeled "Reject Changes"
And I click on the button labeled "Reject Changes" in the dialog box
Then I should see "Project Changes Rejected / User Notified"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.100"
And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Reject production project modifications |

When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "Choice101"

And I click on the link labeled "Designer"
Then I should see a button labeled "Submit Changes for Review"
#THE PROJECT STAYS IN DRAFT MODE IF THE CHANGES ARE REJECTED SO DRAFT MODE BUTTON DOES NOT APPEAR
#And I click on the button labeled "Enter Draft Mode"
#Then I should see "The project is now in Draft Mode"

When I click on the link labeled "Data Types"
And I click on the Edit image for the field named "Radio Button Manual"

#We are deleting the third option and renaming "100, Choice100" to "101, Choice100" in one step
And I clear field and enter Choices of "9..9, Choice99{enter}101, Choice100" into the open "Edit Field" dialog box

And I click on the button labeled "Save"
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Awaiting review of project changes"
And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported               |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Request approval for production project modifications |

Given I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.100"
And I click on the link labeled "Designer"
Then I should see "REVIEW CHANGES?"

When I click on the button labeled "Project Modification Module"
And I click on the button labeled "COMMIT CHANGES"
And I click on the button labeled "COMMIT CHANGES" in the dialog box
Then I should see "Project Changes Committed / User Notified"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.100"
And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported  |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Approve production project modifications |

When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should NOT see "Choice101"

And I click on the link labeled "Designer"
Then I should see "Enter Draft Mode"

Scenario: A.6.4.400.200 User’s ability to approve draft changes without administrative approval if no existing fields were modified Given I login to REDCap with the user “Test_Admin” And I create a new project named “A.6.4.400.200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/A64400.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “A.6.4.400.200”

And I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "Yes, if no existing fields were modified" on the dropdown field labeled "Allow production Draft Mode changes to be approved automatically under certain conditions?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.200"
And I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

When I click on the link labeled "Data Types"
And I click on the Edit image for the field named "Radio Button Manual"
And I enter Choices of "102, Choice102" into the open "Edit Field" dialog box
And I click on the button labeled "Save"
And I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Given I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.200"
And I click on the link labeled "Designer"
Then I should see "REVIEW CHANGES?"

When I click on the button labeled "Project Modification Module"
And I click on the button labeled "Remove All Drafted Changes"
And I click on the button labeled "Remove All Drafted Changes" in the dialog box
Then I should see "Project Changes Removed / User Notified"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.200"
And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Remove production project modifications |

When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should NOT see "Choice102"
And I should see "Choice101"

And I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

When I click on the link labeled "Data Types"
And I add a new Text Box field labeled "Text Box 2" with variable name "textbox_2" and click on the "Save" button
Then I should see "Text Box 2"

When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
And I click on the button labeled "Close" in the dialog box
And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported              |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Approve production project modifications (automatic) |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Create project field                                 |

When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "Text Box 2"

When I click on the link labeled "Designer"
Then I should see a button labeled "Enter Draft Mode"

Scenario: A.6.4.400.300 User’s ability to approve draft changes without administrative approval if no critical issues exist Given I login to REDCap with the user “Test_Admin” And I create a new project named “A.6.4.400.300” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/A64400.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “A.6.4.400.300” And I click on the link labeled “User Rights”

And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "Yes, if project has no records OR if has records and no critical issues exist" on the dropdown field labeled "Allow production Draft Mode changes to be approved automatically under certain conditions?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.300"
And I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
And I click on the button labeled "Close" in the dialog box

And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported              |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Approve production project modifications (automatic) |

When I click on the link labeled "Designer"

#We were already in DRAFT MODE.  See line 231.
#And I click on the button labeled "Enter Draft Mode"
#Then I should see "The project is now in Draft Mode"

When I click on the link labeled "Data Types"
And I click on the Edit image for the field named "Radio Button Manual"

#We are deleting the third option and renaming "100, Choice100" to "101, Choice100" in one step
And I clear field and enter Choices of "9..9, Choice99{enter}101, Choice100" into the open "Edit Field" dialog box

And I click on the button labeled "Save"
And I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Awaiting review of project changes"
And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported               |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Request approval for production project modifications |

Given I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.300"
And I click on the link labeled "Designer"
Then I should see "REVIEW CHANGES?"

When I click on the button labeled "Project Modification Module"
Then I should see "Total potentially critical issues: 1"
And I click on the button labeled "Remove All Drafted Changes"
And I click on the button labeled "Remove All Drafted Changes" in the dialog box
Then I should see "Project Changes Removed / User Notified"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.300"
And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Remove production project modifications |

 When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "Choice101"

And I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

When I click on the link labeled "Data Types"
And I click on the Edit image for the field named "Radio Button Manual"

#We are deleting the third option and renaming "100, Choice100" to "101, Choice100" in one step
And I clear field and enter Choices of "9..9, Choice99{enter}101, Choice100" into the open "Edit Field" dialog box

And I click on the button labeled "Save"
And I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Awaiting review of project changes"
And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported               |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Request approval for production project modifications |

Given I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.300"
And I click on the link labeled "Designer"
Then I should see "REVIEW CHANGES?"

When I click on the button labeled "Project Modification Module"
Then I should see "Total potentially critical issues: 1"
And I click on the button labeled "COMMIT CHANGES"
And I click on the button labeled "COMMIT CHANGES" in the dialog box
Then I should see "Project Changes Committed / User Notified"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.400.300"
And I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported  |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Approve production project modifications |

When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should NOT see "Choice101"

And I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

When I click on the link labeled "Data Types"
And I click on the Edit image for the field named "Radio Button Manual"
Then I should see a dialog containing the following text: "Edit Field"
When I verify Choice of "101, Choice100" in the open "Edit Field" dialog box
Then I click on the button labeled "Cancel" in the dialog box

When I click on the link labeled "Data Exports, Reports, and Stats"

Given I see a table rows containing the following values in the reports table:
  | A | All data (all records and fields)  |
  | B | Selected instruments and/or events |

And I click on the button labeled "View Report"

# The manual step: Then I should see "Choice100 (101)"
# IMPORTANT: The above is NOT what we would expect to see
# The data entered in this project was entered BEFORE we made these changes to the Radio Button Manual field
# Thus, because we have unmapped the original value (100) from the label of Choice100 ...
# We would expect to see ONLY the raw value (100) in the report data table

Given I see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Event Name             | Radio Button Manual |
  | 1         | Data Types        | Event 1 (Arm 1: Arm 1) | (100)               |
  | 2         | Data Types        | Event 1 (Arm 1: Arm 1) | (100)               |
  | 3         | Data Types        | Event 1 (Arm 1: Arm 1) | (100)               |
  | 4         | Data Types        | Event 1 (Arm 1: Arm 1) | (100)               |

When I click on the link labeled "Designer"

When I click on the link labeled "Data Types"
And I click on the Edit image for the field named "Radio Button Manual"

#We are adding the third option of "102, Choice102"
And I clear field and enter Choices of "9..9, Choice99{enter}101, Choice100{enter}102, Choice102" in the open "Edit Field" dialog box

And I click on the button labeled "Save"
And I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
And I click on the button labeled "Close" in the dialog box

When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported              |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Approve production project modifications (automatic) |

When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "Choice102"
And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.500%20-%20Repeatable%20Instruments.feature

Feature: A.6.4.500 Manage project creation, deletion, and settings

Manage project creation, deletion, and settings Control Center: The system shall support the option to limit adding or modifying repeatable instruments while in production to administrators.

Scenario: A.6.4.500.100 User’s ability to add or modify repeatable instrument while in production mode

Given I login to REDCap with the user "Test_Admin"
And I create a new project named "A.6.4.500.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.500.100"
And I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "No, only Administrators can modify the repeating instance setup in production" on the dropdown field labeled "Allow normal users to modify the 'Repeating Instruments & Events' settings for projects while in production status?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.500.100"
And I click on the link labeled "Project Setup"
Then I should see that repeatable instruments are unchangeable
Given I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.500.100"
When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "Yes, normal users can modify the repeating instance setup in production" on the dropdown field labeled "Allow normal users to modify the 'Repeating Instruments & Events' settings for projects while in production status?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.500.100"
And I click on the link labeled "Project Setup"
Then I should see "Repeating instruments and events"

When I click on the button labeled "Modify" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section
Then I should see a dialog containing the following text: "WARNING"

Given I click on the button labeled "Close" in the dialog box
And I select "-- not repeating --" on the dropdown field labeled "Event 1 (Arm 1: Arm 1)"
And I select "Repeat Instruments (repeat independently of each other)" on the dropdown field labeled "Event Three (Arm 1: Arm 1)"
And I check the checkbox labeled "Survey"
And I click on the button labeled "Save"
Then I should see a dialog containing the following text: "Your settings for repeating instruments and/or events have been successfully saved."

Given I click on the button labeled "Close" in the dialog box
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Set up repeating instruments/events     |

Given I click on the link labeled "Add / Edit Records"
Given I select record ID "1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
And I click the bubble to select a record for the "Survey" longitudinal instrument on event "Event Three"

And I enter "MyName" into the data entry form field labeled "Name"
Given I select the submit option labeled "Save & Add New Instance" on the Data Collection Instrument
And I enter "MyOtherName" into the data entry form field labeled "Name"
Given I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument

And I click the bubble to select a record for the "Survey" longitudinal instrument on event "Event Three" and click the repeating instrument bubble for the first instance
Then I see "Current instance:"

Given I click on the link labeled "Record ID 1"
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should NOT see "Current instance:"

Given I click on the link labeled "Data Exports, Reports, and Stats"

Given I see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |
When I click on the button labeled "View Report"

Then I should see table rows containing the following values in the report data table:
  | Event Three (Arm 1: Arm 1) | Survey | 1 | Name MyName      |
  | Event Three (Arm 1: Arm 1) | Survey | 2 | Name MyOtherName |
And I should NOT see "Data Types"

Given I click on the link labeled "Project Setup"
Then I should see "Repeating instruments and events"

When I click on the button labeled "Modify" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section
Then I should see a dialog containing the following text: "WARNING"

Given I click on the button labeled "Close" in the dialog box
And I select "Repeat Instruments (repeat independently of each other)" on the dropdown field labeled "Event 1 (Arm 1: Arm 1)"
And I check the checkbox labeled "Data Types"
And I select "-- not repeating --" on the dropdown field labeled "Event Three (Arm 1: Arm 1)"
And I click on the button labeled "Save"
Then I should see a dialog containing the following text: "Your settings for repeating instruments and/or events have been successfully saved."

Given I click on the button labeled "Close" in the dialog box
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Set up repeating instruments/events     |

Given I click on the link labeled "Add / Edit Records"
And I select record ID "1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
And I click the bubble to select a record for the "Survey" longitudinal instrument on event "Event Three"
Then I should NOT see "Current instance:"
And I click on the button labeled "Cancel"
Then I see "data entry cancelled - not saved"
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I see "Current instance:"

Given I click on the link labeled "Data Exports, Reports, and Stats"

Given I see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |
When I click on the button labeled "View Report"

Then I should see a table row containing the following values in the report data table:
  | Event 2 (Arm 1: Arm 1) |  | 1 |  |  | Name | email@test.edu | Unverified |
And I should NOT see "MyOtherName"

When I click on the link labeled "Project Setup"
And I click on the button labeled "Modify" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section
Then I should see a dialog containing the following text: "WARNING"

Given I click on the button labeled "Close" in the dialog box
And I select "-- not repeating --" on the dropdown field labeled "Event 2 (Arm 1: Arm 1)"
And I select "Repeat Entire Event (repeat all instruments together)" on the dropdown field labeled "Event Three (Arm 1: Arm 1)"
And I click on the button labeled "Save"
Then I should see a dialog containing the following text: "Your settings for repeating instruments and/or events have been successfully saved."

Given I click on the button labeled "Close" in the dialog box
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Set up repeating instruments/events     |

Given I click on the link labeled "Add / Edit Records"
And I select record ID "1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should NOT see "(#3)"

When I click on the button labeled "Add new"
And I click the bubble to add a record for the "Survey" longitudinal instrument on event "(#3)"
Then I should see "Editing existing Record ID 1"

When I clear field and enter "My repeat event name" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "(#3)"

And I click on the link labeled "Data Exports, Reports, and Stats"
Given I see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |
And I click on the button labeled "View Report"
And I should see a "1" within the "Event Three (Arm 1: Arm 1)" row of the column labeled "Repeat Instance" of the Reports table
And I should see "My repeat event name"

When I click on the link labeled "Project Setup"
And I click on the button labeled "Modify" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section
Then I should see a dialog containing the following text: "WARNING"

Given I click on the button labeled "Close" in the dialog box
And I select "-- not repeating --" on the dropdown field labeled "Event Three (Arm 1: Arm 1)"
And I select "Repeat Entire Event (repeat all instruments together)" on the dropdown field labeled "Event 2 (Arm 1: Arm 1)"
And I click on the button labeled "Save"
Then I should see a dialog containing the following text: "Your settings for repeating instruments and/or events have been successfully saved."
And I click on the button labeled "Close" in the dialog box

Given I see the link labeled "Data Exports, Reports, and Stats"
And I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

Given I click on the button labeled "View Report"
Then I should see a "1" within the "Event 2 (Arm 1: Arm 1)" row of the column labeled "Repeat Instance" of the Reports table
And I should see "" within the "Event Three (Arm 1: Arm 1)" row of the column labeled "Repeat Instance" of the Reports table
And I should NOT see "My repeat event name"

Given I click on the link labeled "Add / Edit Records"
And I select record ID "1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
And I click the X to delete all data related to the event named "#2"
And I click on the button labeled "Delete this instance of this event" in the dialog box
Then I should see "successfully deleted entire event of data"
And I should NOT see "(#2)"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.600%20-%20Events%20and%20Arms%20in%20Production.feature

Feature: A.6.4.600 Manage project creation, deletion, and settings

Manage project creation, deletion, and settings Control Center: The system shall support the option to limit adding or modifying events and arms while in production to administrators. Note: user can add instrument to event in production.

Scenario: A.6.4.600.100 User’s ability to add or modify events and arms while in production mode

Given I login to REDCap with the user "Test_Admin"
And I create a new project named "A.6.4.600.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.600.100"
Then I should see Project status: "Development"

When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.600.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"

Given I should see a link labeled "Add New Arm"
When I click on the link labeled "Add New Arm"
And I enter "Arm 3" into the input field labeled "Arm name:"
And I click on the button labeled "Save"
Then I should see "Arm name:  Arm 3"

When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Create arm                              |
  | test_user1 | Manage/Design | Arm 3: Arm 3                            |

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
And I click on the link labeled "Arm 3"

Given I add an event named "Event 1" with offset of 0 days into the currently selected arm
Then I should see "Event 1" in the define events table

When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported                         |
  | test_user1 | Manage/Design | Create arm                                                      |
  | test_user1 | Manage/Design | Arm 3: Arm 3                                                    |
  | test_user1 | Manage/Design | Create event                                                    |
  | test_user1 | Manage/Design | Event: Event 1, Arm: Arm 3, Days Offset: 0, Offset Range: -0/+0 |

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
And I click on the link labeled "Arm Two"
And I click on the link labeled "Rename Arm 2"
Then I should see a button labeled "Save"

Given I clear field and enter "Arm 2" into the input field labeled "Arm name"
And I click on the button labeled "Save"
Then I should see "Arm name:  Arm 2"

When I click on the link labeled "Logging"

Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Edit arm name/number                    |
  | test_user1 | Manage/Design | Arm 2: Arm 2                            |

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
And I click on the link labeled "Arm 2"
And I click on the Edit image for the event named "Event 1"

And I change the current Event Name from "Event 1" to "Event One"
And I click on the button labeled "Save"
Then I should see "Event One"

When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Edit event                              |
  | test_user1 | Manage/Design | Event One, Arm: Arm 2                   |

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
And I click on the link labeled "Arm 1"
Then I should see a button labeled "Add new event"

Given I add an event named "Event 4" with offset of 4 days into the currently selected arm
Then I should see "Event 4" in the define events table

When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported                         |
  | test_user1 | Manage/Design | Create arm                                                      |
  | test_user1 | Manage/Design | Arm 2: Arm 2                                                    |
  | test_user1 | Manage/Design | Create event                                                    |
  | test_user1 | Manage/Design | Event: Event 4, Arm: Arm 1, Days Offset: 4, Offset Range: -0/+0 |

When I click on the link labeled "Record Status Dashboard"
Then I should see "Arm 3: Arm 3"
And I should see "Arm 2: Arm 2"

When I click on the link labeled "Arm 2"
Then I should see "Event One"

When I click on the link labeled "Arm 1"
Then I should see "Event 4"

Given I click on the link labeled "Project Setup"
When I click on the button labeled "Designate Instruments for My Events"
And I click on the link labeled "Arm 1"
And I click on the button labeled "Begin Editing"
And I disable the Data Collection Instrument named "Data Types" for the Event named "Event 1"
And I click on the button labeled "Save" on the Designate Instruments for My Events page
Then I verify the Data Collection Instrument named "Data Types" is disabled for the Event named "Event 1"

When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm 1"
Then I should see a Data Collection Instrument named "Consent" for the Event named "Event 1"


When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Perform instrument-event mappings       |

Given I click on the link labeled "Project Setup"
When I click on the button labeled "Designate Instruments for My Events"
And I click on the link labeled "Arm 1"
And I click on the button labeled "Begin Editing"
And I enable the Data Collection Instrument named "Consent" for the Event named "Event 2"
And I click on the button labeled "Save" on the Designate Instruments for My Events page
Then I verify the Data Collection Instrument named "Consent" is enabled for the Event named "Event 1"

When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm 1"
Then I should see a Data Collection Instrument named "Consent" for the Event named "Event 2"

Given I click on the link labeled "Project Setup"
When I click on the button labeled "Designate Instruments for My Events"
And I click on the link labeled "Arm 1"
And I click on the button labeled "Begin Editing"
And I enable the Data Collection Instrument named "Text Validation" for the Event named "Event 4"

And I click on the button labeled "Save" on the Designate Instruments for My Events page
Then I verify the Data Collection Instrument named "Text Validation" is enabled for the Event named "Event 4"

When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm 1"
Then I should see a Data Collection Instrument named "Text Validation" for the Event named "Event 4"

Given I click on the link labeled "Project Setup"
When I click on the button labeled "Designate Instruments for My Events"
And I click on the link labeled "Arm 3"
When I click on the button labeled "Begin Editing"
And I enable the Data Collection Instrument named "Consent" for the Event named "Event 1"
And I click on the button labeled "Save" on the Designate Instruments for My Events page
Then I verify the Data Collection Instrument named "Consent" is enabled for the Event named "Event 1"

When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm 3"
Then I should see a Data Collection Instrument named "Consent" for the Event named "Event 1"
Given I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.600.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "No, only Administrators can add/modify events in production" on the dropdown field labeled "Allow normal users to add or modify events and arms on the Define My Events page for longitudinal projects while in production status?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.600.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
Then I should see "Events cannot be modified in production"
And I should NOT see a button labeled "Add new arm"
And I should NOT see a button labeled "Add new event"

When I click on the button labeled "Upload or download arms/events"
Then I should see "Download arms (CSV)"
And I should see "Download events (CSV)"
But I should NOT see "Upload arms (CSV)"
And I should NOT see "Upload events (CSV)"

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Designate Instruments for My Events"
And I should see "Events cannot be modified in production"
And I should NOT see a button labeled "Begin Editing"

When I click on the button labeled "Upload or download instrument mappings"
Then I should see "Download instrument-event mappings (CSV)"
But I should NOT see "Upload instrument-event mappings (CSV)"
Given I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "Yes, normal users can add/modify events in production" on the dropdown field labeled "Allow normal users to add or modify events and arms on the Define My Events page for longitudinal projects while in production status?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.600.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"

Given I should see a link labeled "Add New Arm"
When I click on the link labeled "Add New Arm"
And I enter "Arm 4" into the input field labeled "Arm name:"
And I click on the button labeled "Save"
Then I should see "Arm name:  Arm 4"
And I click on the link labeled "Arm 4"

Given I add an event named "Event 1" with offset of 0 days into the currently selected arm
Then I should see "Event 1" in the define events table

When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported                         |
  | test_user1 | Manage/Design | Create arm                                                      |
  | test_user1 | Manage/Design | Arm 4: Arm 4                                                    |
  | test_user1 | Manage/Design | Create event                                                    |
  | test_user1 | Manage/Design | Event: Event 1, Arm: Arm 4, Days Offset: 0, Offset Range: -0/+0 |

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
And I click on the link labeled "Arm 2"
And I click on the link labeled "Rename Arm 2"
Then I should see "Sorry, but arms can only be renamed by REDCap administrators"
And I click on the button labeled "Close" in the dialog box
Then I should see "Arm 2"

When I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled "Arm 2"

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
And I click on the link labeled "Arm 1"

When I click on the Edit image for the event named "Event 2"
Then I should see a dialog containing the following text: "Sorry, but events can only be renamed by REDCap administrators when a project is in production status"
And I click on the button labeled "Close" in the dialog box

When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm 1"
Then I should see "Event 2"

Given I click on the link labeled "Project Setup"
When I click on the button labeled "Designate Instruments for My Events"
# NOTE: This is listed as Arm 1 in the manual test.  "Event One" does not exist as an event in Arm 1 - so I used Arm 2.
And I click on the link labeled "Arm 2"
And I click on the button labeled "Begin Editing"
Then I should see "only REDCap administrators are allowed to uncheck any instruments that are already designated"
Then I verify the Data Collection Instrument named "Data Types" is unmodifiable for the Event named "Event One"

When I click on the button labeled "Upload or download instrument mappings"
And I click on the link labeled "Upload instrument-event mappings (CSV)"
And I upload a "csv" format file located at "import_files/instrument_designation.csv", by clicking the button near "Select your CSV" to browse for the file, and clicking the button labeled "Upload" to upload the file

Then I should see a dialog containing the following text: "ERROR"
And I click on the button labeled "Close" in the dialog box

Given I click on the link labeled "Arm 1"
And I click on the button labeled "Begin Editing"
When I enable the Data Collection Instrument named "Data Types" for the Event named "Event 4"
And I click on the button labeled "Save" on the Designate Instruments for My Events page
Then I verify the Data Collection Instrument named "Data Types" is enabled for the Event named "Event 4"

When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm 1"
Then I should see a Data Collection Instrument named "Data Types" for the Event named "Event 4"

When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Perform instrument-event mappings       |

Given I click on the link labeled "Project Setup"
When I click on the button labeled "Designate Instruments for My Events"
And I click on the link labeled "Arm 4"
And I click on the button labeled "Begin Editing"
And I enable the Data Collection Instrument named "Consent" for the Event named "Event 1"
And I click on the button labeled "Save" on the Designate Instruments for My Events page
Then I verify the Data Collection Instrument named "Consent" is enabled for the Event named "Event 1"

When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm 4"
Then I should see a Data Collection Instrument named "Consent" for the Event named "Event 1"
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.600.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
And I click on the link labeled "Arm 1"
Then I should see "Rename Arm 1"

When I click on the link labeled "Rename Arm 1"
Then I should see a button labeled "Save"

Given I clear field and enter "Arm One" into the input field labeled "Arm name"
And I click on the button labeled "Save"
Then I should see "Arm name:  Arm One"

When I click on the link labeled "Record Status Dashboard"
Then I should see "Arm 1: Arm One"

When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Edit arm name/number                    |
  | test_admin | Manage/Design | Arm 1: Arm One                          |

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
And I click on the link labeled "Arm One"
And I click on the Edit image for the event named "Event 4"
And I change the current Event Name from "Event 4" to "Event Four"
And I click on the button labeled "Save"
Then I should see "Event Four"

When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm One"
Then I should see "Event Four"

When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Edit event                              |
  | test_admin | Manage/Design | Event Four, Arm: Arm One                |

Given I click on the link labeled "Project Setup"
When I click on the button labeled "Designate Instruments for My Events"
And I click on the link labeled "Arm 2"
And I click on the button labeled "Begin Editing"
And I disable the Data Collection Instrument named "Data Types" for the Event named "Event One"
And I click on the button labeled "Save" on the Designate Instruments for My Events page
Then I verify the Data Collection Instrument named "Data Types" is disabled for the Event named "Event One"

When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm 2"
Then I should NOT see a Data Collection Instrument named "Data Types" for the Event named "Event One"

When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Perform instrument-event mappings       |

When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "No, only Administrators can add/modify events in production" on the dropdown field labeled "Allow normal users to add or modify events and arms on the Define My Events page for longitudinal projects while in production status?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.700%20-%20Blank%20Slate%20Projects.feature

Feature: A.6.4.700 Manage project creation, deletion, and settings

Manage project creation, deletion, and settings User Interface – General: The system shall support the ability to create new projects from a blank slate.

Scenario: A.6.4.700.100 Create blank new project

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "New Project"
And I enter "A.6.4.700.100" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the radio labeled "Empty project (blank slate)"
And I click on the button labeled "Create Project"
# #############################################################################################################
# ATS Note: Below steps do not appear unless custom message is configured in Control Center so leaving them out
# Then I should see "You are now creating a test project"
# And I click on the button labeled "I Agree" in the dialog box
# #############################################################################################################
Then I should see "A.6.4.700.100"
And I should see "Project Home"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.800%20-%20Project%20Title.feature

Feature: User Interface: General: The system shall support customization of project titles.

As a REDCap end user I want to see that Project Setup is functioning as expected

Scenario: B.6.4.800.100 Customize project title #SETUP Given I login to REDCap with the user “Test_User1” And I create a new project named “B.6.4.800.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.6.4.800.100” And I click on the link labeled “Project Setup”

#FUNCTIONAL REQUIREMENT
##ACTION: Modify title
And I click on the button labeled "Modify project title, purpose, etc."
And I enter "B.6.4.800.MODIFY" into the input field labeled "Project title:"
And I click on the button labeled "Save" in the dialog box
Then I should see "Success! Your changes have been saved."

##VERIFY
When I click on the link labeled "My Projects"
And I should see "B.6.4.800.MODIFY"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.900%20-%20Project%20Purpose.feature

Feature: User Interface: General: The system shall support the designation of the purpose of the project.

As a REDCap end user I want to see that Project Setup is functioning as expected

Scenario: B.6.4.900.100 Change project purpose designation #SETUP Given I login to REDCap with the user “Test_User1” And I create a new project named “B.6.4.900.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.6.4.900.100” And I click on the link labeled “Project Setup”

#FUNCTIONAL REQUIREMENT
##ACTION: Change project purpose designation
And I click on the button labeled "Modify project title, purpose, etc."
And I select "Operational Support" on the dropdown field labeled "Project's purpose:"
And I click on the button labeled "Save" in the dialog box

##VERIFY
Then I should see "Success! Your changes have been saved."

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Modify project settings                 |

##ACTION #CROSS-FEATURE B.2.23.100: Verify Logging Filter by event manage/design
And I select "Manage/Design" on the dropdown field labeled "Filter by event:"

##VERIFY_LOG #CROSS-FEATURE: Verify Logging Filter by event manage/design
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Modify project settings                 |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Create project using REDCap XML file    |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.1000%20-%20Project%20Copy.feature

Feature: User Interface: General: The system shall support the ability to copy the project, all users, and all data.

As a REDCap end user I want to see that Project Setup is functioning as expected

Scenario: B.6.4.1000.100 Copy a project with all users and all data # BEGIN: STEPS FOR ATS Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “Control Center” # - EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, project request behavior does not work properly # - CUSTOM MESSAGE SET - Makes the dialog box pop up when requesting a project Given I click on the link labeled “General Configuration” Then I should see “General Configuration”

When I enter "redcap@test.instance" into the input field labeled "Email Address of REDCap Administrator"
And I enter "You are now creating a test project" into the textarea field labeled "Custom message when creating/copying project"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed"

#ALSO NEED TO ALLOW REGULAR USERS TO MOVE TO PRODUCTION, OTHERWISE NONE OF THIS STUFF WORKS ...
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "Yes, normal users can move projects to production" on the dropdown field labeled "Allow normal users to move projects to production?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"

And I logout
# END: STEPS FOR ATS ###


#SETUP_DEV
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.6.4.1000.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button
And I click on the button labeled "I Agree" in the dialog box

When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.4.1000.100"
And I click on the link labeled "Other Functionality"
Then I should see a button labeled "Copy the Project"

#FUNCTIONAL REQUIREMENT
##ACTION: Copy original in development mode
When I click on the button labeled "Copy the Project"
And I enter "B.6.4.1000.100.DEV" into the input field labeled "Project title:"
And I click on the link labeled "Select All"
And I click on the button labeled "Copy project"
And I click on the button labeled "I Agree" in the dialog box
Then I should see "COPY SUCCESSFUL!"

##VERIFY_UR
When I click on the link labeled "User Rights"
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_user1          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1         |
  | 2         |
  | 3         |
  | 4         |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Add user      | user = 'test_user1'                     |
  | test_user1 | Manage/Design | Copy project from                       |

#SETUP_PRODUCTION
Given I click on the link labeled "My Projects"
And I click on the link labeled "B.6.4.1000.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION: Copy original in production mode
When I click on the link labeled "Other Functionality"
Then I should see a button labeled "Copy the Project"

When I click on the button labeled "Copy the Project"
And I enter "B.6.4.1000.100.PROD" into the input field labeled "Project title:"
And I click on the link labeled "Select All"
And I click on the button labeled "Copy project"
And I click on the button labeled "I Agree" in the dialog box
Then I should see "COPY SUCCESSFUL!"

##VERIFY_UR
When I click on the link labeled "User Rights"
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_user1          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1         |
  | 2         |
  | 3         |
  | 4         |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Add user      | user = 'test_user1'                     |
  | test_user1 | Manage/Design | Copy project from                       |

#SETUP_ANALYSIS
Given I click on the link labeled "My Projects"
And I click on the link labeled "B.6.4.1000.100"
And I click on the link labeled "Other Functionality"
And I click on the button labeled "Move to Analysis/Cleanup status"
And I click on the button labeled "YES, Move to Analysis/Cleanup Status"
Then I should see an alert box with the following text: "The project has now been set to ANALYSIS/CLEANUP"
And I should see Project status: "Analysis/Cleanup"

#FUNCTIONAL REQUIREMENT
##ACTION: Copy original in analysis mode
Given I click on the button labeled "Copy the Project"
And I enter "B.6.4.1000.100.ANALYSIS" into the input field labeled "Project title:"
And I click on the link labeled "Select All"
And I click on the button labeled "Copy project"
And I click on the button labeled "I Agree" in the dialog box
Then I should see "COPY SUCCESSFUL!"

##VERIFY_UR
When I click on the link labeled "User Rights"
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_user1          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1         |
  | 2         |
  | 3         |
  | 4         |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Add user      | user = 'test_user1'                     |
  | test_user1 | Manage/Design | Copy project from                       |

#And I want to export a snapshot of this feature here
#And I want to pause

#SETUP_COMPLETED
Given I click on the link labeled "My Projects"
And I click on the link labeled "B.6.4.1000.100"
And I click on the link labeled "Other Functionality"
And I click on the button labeled "Mark project as Completed"
And I click on the button labeled "Mark project as Completed" in the dialog box

#TODO: Need to verify with Manual Validation why this is here.  Is it supposed to redirect to the My Projects page?  Shrug.
Then I should see "My Projects"

#FUNCTIONAL REQUIREMENT
##ACTION: UNABLE to Copy original in complete mode as User
When I click on the link labeled "Show Completed Projects"
And I click on the link labeled "B.6.4.1000.100"
##VERIFY
Then I should see a dialog containing the following text: "NOTICE: Project was marked as Completed"
And I click on the button labeled "Return to My Projects page" in the dialog box
And I logout

##ACTION: UNABLE to Copy original in complete mode as Admin
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Browse Projects"
And I enter "B.6.4.1000.100" into the input field labeled "Search project title by keyword(s):"
And I click on the button labeled "Search project title"
And I click on the link labeled "B.6.4.1000.100"
##VERIFY
Then I should see "NOTICE: Project was marked as Completed"
And I click on the button labeled "Return to My Projects page"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.1100%20-%20Erase%20data%20in%20Development%20Mode.feature

Feature: User Interface: General: The system shall support the ability to erase all data for a project at once only in development.

As a REDCap end user I want to see that Project Setup is functioning as expected

Scenario: B.6.4.1100.100 Erase all data only in development as User ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

##SETUP_DEV
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.6.4.1100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

##ACTION Verify record exist ##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1         |
  | 2         |
  | 3         |
  | 4         |

When I click on the link labeled "Project Setup"
And I click on the link labeled "Other Functionality"
Then I should see a button labeled "Erase all data"

#FUNCTIONAL REQUIREMENT
##ACTION Erase data
When I click on the button labeled "Erase all data"
And I click on the button labeled "Erase all data" in the dialog box
Then I should see "SUCCESS!"
And I click on the button labeled "Close" in the dialog box

##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION Erase data button missing in production mode
When I click on the link labeled "Other Functionality"
##VERIFY
Then I should NOT see a button labeled "Erase all data"
And I logout

Scenario: B.6.4.1100.200 Erase all data in production mode as Admin ##SETUP_PRODUCTION Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.6.4.1100.200.PROD” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “Project Setup” And I click on the button labeled “Move project to production” And I click on the radio labeled “Keep ALL data saved so far” in the dialog box And I click on the button labeled “YES, Move to Production Status” in the dialog box to request a change in project status Then I should see Project status: “Production”

##ACTION Verify record exist ##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1         |
  | 2         |
  | 3         |
  | 4         |

When I click on the link labeled "Project Setup"
And I click on the link labeled "Other Functionality"
Then I should see a button labeled "Erase all data"

#FUNCTIONAL REQUIREMENT
##ACTION Erase data
When I click on the button labeled "Erase all data"
And I click on the button labeled "Erase all data" in the dialog box
Then I should see "SUCCESS!"
And I click on the button labeled "Close" in the dialog box

##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.1200%20-%20Delete%20Project.feature

Feature: User Interface: General: The system shall support the ability to delete projects only in development for project users and in any status for administrators.

As a REDCap end user I want to see that Project Setup is functioning as expected

Scenario: B.6.4.1200.100 Projects in development can be deleted by user

##ATS prerequisite: Normal users cannot move projects to production by default - let's adjust that before we proceed.
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
Given I select "Yes, normal users can move projects to production" on the dropdown field labeled "Allow normal users to move projects to production?"
When I click on the button labeled "Save Changes"
And I see "Your system configuration values have now been changed!"
Then I logout

##SETUP_DEV
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "New Project"
And I enter "B.6.4.1200.100.DEV" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the radio labeled "Empty project (blank slate)"
And I click on the button labeled "Create Project"
Then I should see "B.6.4.1200.100.DEV"

#FUNCTIONAL REQUIREMENT
When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.4.1200.100.DEV"
And I click on the link labeled "Other Functionality"
Then I should see a button labeled "Delete the project"

##ACTION Delete the project
When I click on the button labeled "Delete the project"
And I enter "DELETE" into the input field labeled 'TYPE "DELETE" BELOW' in the dialog box
And I click on the button labeled "Delete the project" in the dialog box
And I click on the button labeled "Yes, delete the project" in the dialog box
Then I should see "Project successfully deleted!"
And I click on the button labeled "Close" in the dialog box
Given I logout

Scenario: B.6.4.1200.200 Projects in production with no records can be deleted by user ##SETUP_PRODUCTION Given I login to REDCap with the user “Test_User1” When I click on the link labeled “New Project” And I enter “B.6.4.1200.200.PROD” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project” Then I should see “B.6.4.1200.200.PROD”

When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.4.1200.200.PROD"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##ACTION Verify record do NOT exist ##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

#FUNCTIONAL REQUIREMENT
When I click on the link labeled "Project Setup"
And I click on the link labeled "Other Functionality"
Then I should see a button labeled "Request delete project"

##ACTION Delete the project
When I click on the button labeled "Request delete project"
#When I click on the button labeled "OK" in the pop-up box
Then I should see "Project successfully deleted!" in the dialog box
And I click on the button labeled "Close" in the dialog box

Scenario: B.6.4.1200.300 Projects in production with records require admin ##SETUP_PRODUCTION Given I login to REDCap with the user “Test_User1” And I create a new project named “B.6.4.1200.300.PROD” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.4.1200.300.PROD"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##ACTION Verify record exist ##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1         |
  | 2         |
  | 3         |
  | 4         |

#FUNCTIONAL REQUIREMENT
Given I click on the link labeled "Project Setup"
When I click on the link labeled "Other Functionality"
Then I should see a button labeled "Request delete project"

##ACTION Request delete project
And I click on the button labeled "Request delete project"
#And I click on the button labeled "OK" in the pop-up box
Then I should see "Success!"
And I logout

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
Then I should see a link labeled "To-Do List"
Given I click on the link labeled "To-Do List"

Then I should see "Pending Requests"

Given I should see the "Delete project" request created for the project named "B.6.4.1200.300.PROD" within the "Pending Requests" table
When I click on the "process request" icon for the "Delete project" request created for the project named "B.6.4.1200.300.PROD" within the "Pending Requests" table
Then I should see "Permanently delete this project?" in the dialog box in the iframe

##ACTION Delete project
Given I enter "DELETE" into the input field labeled 'TYPE "DELETE" BELOW' in the iframe
And I click on the button labeled "Delete the project" in the dialog box in the iframe
And I click on the button labeled "Yes, delete the project" in the dialog box in the iframe
Then I should see "Project successfully deleted!" in the dialog box in the iframe

##VERIFY
And I close the iframe window
Then I should see the "Delete project" request created for the project named "B.6.4.1200.300.PROD" within the "Completed & Archived Requests" table

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.1300%20-%20Enable%20%26%20Disable%20Survey.feature

Feature: User Interface: Survey Project Settings: The system shall support enabling and disabling survey functionality at the project level.

As a REDCap end user I want to see that Manage project user access is functioning as expected

Scenario: B.6.4.1300.100 Enable/Disable survey in Project Set-up #SETUP Given I login to REDCap with the user “Test_User1” And I create a new project named “B.6.4.1300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

##VERIFY columns in Designer when Survey is Enabled
Given I click on the link labeled "Designer"
Then I should see a table header containing the following values in a table:
  | Instrument name | Fields | View\nPDF | Enabled as\nsurvey | Instrument actions | Survey related options |

Given I click on the link labeled "Project Setup"
When I click on the button labeled "Disable" in the "Use surveys in this project?" row in the "Main project settings" section
And I click on the button labeled "Disable" on the dialog box

##VERIFY
Then I should see "Saved!"
And I should see a button labeled "Enable" in the "Use surveys in this project?" row in the "Main project settings" section

##VERIFY columns in Designer when Survey is Disabled
Given I click on the link labeled "Designer"
Then I should see a table header containing the following values in a table:
  | Instrument name | Fields | View\nPDF | Instrument actions |

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Modify project settings                 |

When I click on the link labeled "Project Setup"
#FUNCTIONAL REQUIREMENT
##ACTION Enable survey in project setup
And I click on the button labeled "Enable" in the "Use surveys in this project?" row in the "Main project settings" section
##VERIFY
Then I should see "Saved!"
And I should see a button labeled "Disable" in the "Use surveys in this project?" row in the "Main project settings" section

##ACTION Enable survey in Online Designer #B.3.15.100.100
Given I click on the link labeled "Designer"
And I click on the "Enable" button for the instrument row labeled "Text Validation"
And I click on the button labeled "Save Changes"
##VERIFY
Then I should see "Your survey settings were successfully saved!"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Set up survey                           |

##ACTION Disable survey in Online Designer #B.3.15.100.100
Given I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Text Validation"
And I click on the button labeled "Delete Survey Settings"
And I click on the button labeled "Delete Survey Settings" in the dialog box
And I click on the button labeled "Close" in the dialog box

###VERIFY
Then I should see the "Enable" button for the instrument row labeled "Text Validation"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Delete survey                           |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Setup_4/B.6.4.1400%20-%20Repeating%20Surveys.feature

Feature: User Interface: Survey Project Settings: The system shall support the ability to create repeating surveys.

As a REDCap end user I want to see that Manage project user access is functioning as expected

Scenario: B.6.4.1400.100 Ability to create repeating surveys #ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.6.4.1400.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button
#VERIFY_SETUP repeat instrument
When I click on the link labeled "Project Setup"
Then I should see a button labeled "Modify" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section

#SETUP_PRODUCTION
When I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I see Project status: "Production"

#VERIFY_DESIGNER
When I click on the link labeled "Designer"
Then I should see the enabled survey icon link for the instrument row labeled "Survey"

#FUNCTIONAL REQUIREMENT
Given I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event Three" for record ID "1" and click on the bubble
##ACTION open survey
When I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see a button labeled "Submit"

#VERIFY - only submit button and hit submit, no take again
Given I click on the button labeled "Submit"
And I click on the button labeled "Close survey"
Then I should see "You may now close this tab/window"
And I should NOT see "Take this survey again"

#VERIFY - no repeatable button
Given I return to the REDCap page I opened the survey from
Then I should see "Survey response is read-only"
And I click on the link labeled "Record Status Dashboard"
And I should see the "Completed Survey Response" icon for the "Survey" longitudinal instrument on event "Event Three" for record "1"

#SETUP modify repeat instrument
Given I click on the link labeled "Project Setup"
When I click on the button labeled "Modify" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section
Then I should see a dialog containing the following text: "WARNING"
Given I click on the button labeled "Close" in the dialog box
And I select "Repeat Instruments (repeat independently of each other)" on the dropdown field labeled "Event Three (Arm 1: Arm 1)"
And for the Event Name "Event Three (Arm 1: Arm 1)", I check the checkbox labeled "Survey" in the dialog box
And I click on the button labeled "Save" on the dialog box for the Repeatable Instruments and Events module

#VERIFY - OK for manual; since dialog box disappears, commented out for ATS
#Then I should see "Successfully saved" in the dialog box
#And I click on the button labeled "Close" in the dialog box

#ACTION - Create repeatable survey
Given I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Survey"
And I click on the checkbox labeled "(Optional) Repeat the survey"
And I click on the button labeled "Save Changes"
#VERIFY
Then I should see "Your survey settings were successfully saved"

##ACTION - Create repeatable survey in record
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event Three" for record ID "4" and click on the bubble
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see "Record ID 4 successfully edited"

Given I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Please complete the survey below."

Given I clear field and enter "Name_survey" into the data entry form field labeled "Name"
And I click on the button labeled "Take this survey again"
Then I should see "Please complete the survey below."

Given I clear field and enter "Name_survey2" into the data entry form field labeled "Name"
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

When I click on the button labeled "Close survey"
Then I should see "You may now close this tab/window"

##VERIFY 2 instances
Given I return to the REDCap page I opened the survey from
Then I should see "Survey response is read-only"

Given I click on the link labeled "Record Status Dashboard"
Then I should see the "Many statuses (all same)" icon for the "Survey" longitudinal instrument on event "Event Three" for record "4"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username            | Action          | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | [survey respondent] | Update Response | [instance = 2]                          |
  | mm/dd/yyyy hh:mm | [survey respondent] | Update Response | name_survey = 'Name_survey2'            |
  | mm/dd/yyyy hh:mm | [survey respondent] | Update Response | name_survey = 'Name_survey'             |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.1500%20-%20Manage%20Survey%20User..feature

Feature: Control Center: The system shall allow the survey feature to be enabled or disabled.

As a REDCap end user I want to see that survey feature is functioning as expected

Scenario: A.6.4.1500.100 Enable and disable survey feature #SETUP_DEV Given I login to REDCap with the user “Test_Admin” And I create a new project named “A.6.4.1500.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#FUNCTIONAL REQUIREMENT
##ACTION Disable survey feature in Control Center
When I click on the link labeled "Control Center"
And I click on the link labeled "Modules/Services Configuration"
And I select "Disabled" on the dropdown field labeled "Enable the use of surveys in projects?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"


#VERIFY Disable survey feature in project setup
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.1500.100"
And I click on the link labeled "Project Setup"
Then I should NOT see "Use surveys in this project?" in the "Main project settings" section

#FUNCTIONAL REQUIREMENT
##ACTION: Enable survey mode in Control Center
Given I click on the link labeled "Control Center"
And I click on the link labeled "Modules/Services Configuration"
And I select "Enabled" on the dropdown field labeled " Enable the use of surveys in projects?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"

#VERIFY Enable survey feature in project setup
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.4.1500.100"
And I click on the link labeled "Project Setup"
Then I should see a button labeled "Disable" in the "Use surveys in this project?" row in the "Main project settings" section

When I click on the button labeled "Disable" in the "Use surveys in this project?" row in the "Main project settings" section
And I click on the button labeled "Disable" in the dialog box
Then I should see a button labeled "Enable" in the "Use surveys in this project?" row in the "Main project settings" section

##VERIFY_LOG
Given I click on the link labeled "Logging"
Then I should see "This module lists all changes made to this project"
And I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Modify project settings                 |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Setup_4/A.6.4.1600%20-%20Edit%20Survey%20Responses.feature

Feature: Control Center: The system shall allow users to edit survey responses to be enabled or disabled.

As a REDCap end user I want to see that allow edit survey response is functioning as expected

Scenario: A.6.4.1600.100 ##SETUP_DEV Given I login to REDCap with the user “Test_Admin” And I create a new project named “A.6.4.1600.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#FUNCTIONAL REQUIREMENT ##ACTION Admin Disable edit survey response function in control center When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” And I select “Disabled” on the dropdown field labeled “Allow users to edit survey responses?” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed!”

##VERIFY: Admin Go to user rights and look for the edit survey checkbox (should be missing) When I click on the link labeled “My Projects” And I click on the link labeled “A.6.4.1600.100” And I click on the link labeled “User Rights” And I click on the link labeled “test_admin” And I click on the button labeled “Edit user privileges”

MANUAL NOTE: We should NOT see a column labeled “Edit survey responses” in the “Data Viewing Rights” table

Then I should see table rows containing the following values in a table in the dialog box:
  | Data Viewing Rights |           |             |
  | No Access           | Read Only | View & Edit |

And I click on the button labeled "Cancel" in the dialog box

#FUNCTIONAL REQUIREMENT ##ACTION: Admin Enable edit survey response function in control center Given I click on the link labeled “Control Center” When I click on the link labeled “User Settings” And I select “Enabled” on the dropdown field labeled “Allow users to edit survey responses?” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed!”

##VERIFY: Admin Go to user rights and look for the edit survey checkbox (should be there) Given I click on the link labeled “My Projects” When I click on the link labeled “A.6.4.1600.100” And I click on the link labeled “User Rights” And I click on the link labeled “test_admin” And I click on the button labeled “Edit user privileges”

MANUAL NOTE: We should now see a column labeled “Edit survey responses” in the “Data Viewing Rights” table

Then I should see table rows containing the following values in a table in the dialog box:
  | Data Viewing Rights |           |             |                       |
  | No Access           | Read Only | View & Edit | Edit survey responses |

#FUNCTIONAL REQUIREMENT ##ACTION: Enable editing survey responses for survey instrument When I check the checkbox in the row labeled “Survey” in the Edit survey responses column And I save changes within the context of User Rights Then I should see ‘User “test_admin” was successfully edited’

#SETUP Check edit survey function in a record Given I click on the link labeled “Record Status Dashboard” And I locate the bubble for the “Survey” instrument on event “Event Three” for record ID “1” and click on the bubble

And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
And I clear field and enter "SURVEY RESPONSE" into the data entry form field labeled "Name"
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

When I click on the button labeled "Close survey"
Then I should see "You may now close this tab/window"

##VERIFY_RSD Given I return to the REDCap page I opened the survey from Then I should see “Survey response is editable”

Given I click on the link labeled "Record Status Dashboard"
Then I should see the "Completed Survey Response" icon for the "Survey" longitudinal instrument on event "Event Three" for record "1"
And I locate the bubble for the "Survey" instrument on event "Event Three" for record ID "1" and click on the bubble

#FUNCTIONAL REQUIREMENT ##ACTION: Edit survey response When I click on the button labeled “Edit response” Then I should see “(now editing)”

Given I clear field and enter "EDITED SURVEY RESPONSE" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see "Record ID 1 successfully edited."

##VERIFY_LOG When I click on the link labeled “Logging” Then I should see “This module lists all changes” And I should see a table header and rows containing the following values in the logging table: | Time / Date | Username | Action | List of Data Changes OR Fields Exported | | mm/dd/yyyy hh:mm | test_admin | Update record | name_survey = ‘EDITED SURVEY RESPONSE’ | | mm/dd/yyyy hh:mm | [survey respondent] | Update Response | name_survey = ‘SURVEY RESPONSE’ |


Comments:

Comment:

Author: MintooXavier Updated on: 10/7/2024 1:27:08 PM

Comment body:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  5. A.6.4.500 - Repeatable Instruments - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  6. A.6.4.600 - Events and Arms in Production - Test Passes on MAC but not on DELL
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. B.6.4.1100 - Erase data in Development Mode
  12. B.6.4.1200 - Delete Project
  13. B.6.4.1300 - Enable & Disable Survey
  14. B.6.4.1400 - Repeating Surveys
  15. A.6.4.1500 - Manage Survey User.
  16. A.6.4.1600 - Edit Survey Responses

Comment edits:

Created: 10/7/2024 1:27:08 PM Edited on: 10/7/2024 1:27:08 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  5. A.6.4.500 - Repeatable Instruments - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  6. A.6.4.600 - Events and Arms in Production - Test Passes on MAC but not on DELL
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. B.6.4.1100 - Erase data in Development Mode
  12. B.6.4.1200 - Delete Project
  13. B.6.4.1300 - Enable & Disable Survey
  14. B.6.4.1400 - Repeating Surveys
  15. A.6.4.1500 - Manage Survey User.
  16. A.6.4.1600 - Edit Survey Responses

Created: 7/18/2024 1:21:08 PM Edited on: 7/18/2024 1:21:08 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  5. A.6.4.500 - Repeatable Instruments - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  6. A.6.4.600 - Events and Arms in Production - Test not passing.
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. B.6.4.1100 - Erase data in Development Mode
  12. B.6.4.1200 - Delete Project
  13. B.6.4.1300 - Enable & Disable Survey
  14. B.6.4.1400 - Repeating Surveys
  15. A.6.4.1500 - Manage Survey User.
  16. A.6.4.1600 - Edit Survey Responses

Created: 7/4/2024 12:27:35 PM Edited on: 7/4/2024 12:27:35 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Modified iFrame step and pushed to MX_v13.1.37 branch
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  5. A.6.4.500 - Repeatable Instruments - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  6. A.6.4.600 - Events and Arms in Production - Test not passing.
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. B.6.4.1100 - Erase data in Development Mode
  12. B.6.4.1200 - Delete Project - Modified iFrame step and pushed to MX_v13.1.37 branch
  13. B.6.4.1300 - Enable & Disable Survey
  14. B.6.4.1400 - Repeating Surveys
  15. A.6.4.1500 - Manage Survey User.
  16. A.6.4.1600 - Edit Survey Responses

Created: 7/4/2024 12:20:21 PM Edited on: 7/4/2024 12:20:21 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Modified iFrame step and pushed to MX_v13.1.37 branch
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode
  5. A.6.4.500 - Repeatable Instruments
  6. A.6.4.600 - Events and Arms in Production - Test not passing.
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. B.6.4.1100 - Erase data in Development Mode
  12. B.6.4.1200 - Delete Project - Modified iFrame step and pushed to MX_v13.1.37 branch
  13. B.6.4.1300 - Enable & Disable Survey
  14. B.6.4.1400 - Repeating Surveys
  15. A.6.4.1500 - Manage Survey User.
  16. A.6.4.1600 - Edit Survey Responses

Created: 7/4/2024 12:01:14 PM Edited on: 7/4/2024 12:01:14 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Modified iFrame step and pushed to MX_v13.1.37 branch
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode
  5. A.6.4.500 - Repeatable Instruments
  6. A.6.4.600 - Events and Arms in Production - Test not passing.
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. B.6.4.1100 - Erase data in Development Mode
  12. B.6.4.1200 - Delete Project - Modified iFrame step and pushed to MX_v13.1.37 branch
  13. B.6.4.1300 - Enable & Disable Survey
  14. A.6.4.1500 - Manage Survey User.
  15. A.6.4.1600 - Edit Survey Responses

Created: 7/4/2024 10:59:17 AM Edited on: 7/4/2024 10:59:17 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Modified iFrame step and pushed to MX_v13.1.37 branch
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode
  5. A.6.4.500 - Repeatable Instruments
  6. A.6.4.600 - Events and Arms in Production - Test not passing.
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. B.6.4.1100 - Erase data in Development Mode
  12. B.6.4.1200 - Delete Project - Modified iFrame step and pushed to MX_v13.1.37 branch
  13. A.6.4.1500 - Manage Survey User.
  14. A.6.4.1600 - Edit Survey Responses

Created: 7/4/2024 10:54:02 AM Edited on: 7/4/2024 10:54:02 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Modified iFrame step and pushed to MX_v13.1.37 branch
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode
  5. A.6.4.500 - Repeatable Instruments
  6. A.6.4.600 - Events and Arms in Production - Test not passing.
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. B.6.4.1100 - Erase data in Development Mode
  12. B.6.4.1200 - Delete Project
  13. B.6.4.1200 - Delete Project - Modified iFrame step and pushed to MX_v13.1.37 branch
  14. A.6.4.1500 - Manage Survey User.
  15. A.6.4.1600 - Edit Survey Responses

Created: 7/4/2024 10:38:50 AM Edited on: 7/4/2024 10:38:50 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Test not passing.
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode
  5. A.6.4.500 - Repeatable Instruments
  6. A.6.4.600 - Events and Arms in Production - Test not passing.
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. B.6.4.1100 - Erase data in Development Mode
  12. B.6.4.1200 - Delete Project
  13. B.6.4.1200 - Delete Project - Modified iFrame step and pushed to MX_v13.1.37 branch
  14. A.6.4.1500 - Manage Survey User.
  15. A.6.4.1600 - Edit Survey Responses

Created: 7/4/2024 9:27:38 AM Edited on: 7/4/2024 9:27:38 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Test not passing.
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode
  5. A.6.4.500 - Repeatable Instruments
  6. A.6.4.600 - Events and Arms in Production - Test not passing.
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. B.6.4.1100 - Erase data in Development Mode
  12. B.6.4.1200 - Delete Project
  13. B.6.4.1200 - Delete Project - Modified iFrame step and pushed to MX_v13.1.37 branch
  14. A.6.4.1500 - Manage Survey User.
  15. A.6.4.1600 - Edit Survey Responses

Created: 7/3/2024 1:38:59 PM Edited on: 7/3/2024 1:38:59 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Test not passing.
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode
  5. A.6.4.500 - Repeatable Instruments
  6. A.6.4.600 - Events and Arms in Production - Test not passing.
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. A.6.4.1500 - Manage Survey User.
  12. A.6.4.1600 - Edit Survey Responses

Created: 7/3/2024 12:00:02 PM Edited on: 7/3/2024 12:00:02 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Test not passing.
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode
  5. A.6.4.500 - Repeatable Instruments
  6. A.6.4.600 - Events and Arms in Production - Test not passing.
  7. A.6.4.700 - Blank Slate Projects
  8. A.6.4.1500 - Manage Survey User.
  9. A.6.4.1600 - Edit Survey Responses

Created: 7/3/2024 11:19:40 AM Edited on: 7/3/2024 11:19:40 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Test not passing.
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode
  5. A.6.4.500 - Repeatable Instruments
  6. A.6.4.600 - Events and Arms in Production - Test not passing.
  7. A.6.4.700 - Blank Slate Projects
  8. A.6.4.1600 - Edit Survey Responses

Created: 7/2/2024 11:06:53 AM Edited on: 7/2/2024 11:06:53 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Test not passing.
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.1600 - Edit Survey Responses

Created: 7/2/2024 10:55:35 AM Edited on: 7/2/2024 10:55:35 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Test not passing.

Created: 7/2/2024 10:55:35 AM Edited on: 7/2/2024 9:09:42 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects

Comment:

Author: MintooXavier Updated on: 10/7/2024 1:26:39 PM

Comment body:

All tests pass except
A.6.4.600 - Events and Arms in Production - Test not passing on my DELL laptop but works in MAC

All Tests pass

Comment edits:

Created: 10/7/2024 1:26:39 PM Edited on: 10/7/2024 1:26:39 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

All tests pass except A.6.4.600 - Events and Arms in Production - Test not passing on my DELL laptop but works in MAC

All Tests pass

Created: 10/7/2024 1:26:39 PM Edited on: 7/4/2024 1:59:22 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

All tests pass except A.6.4.600 - Events and Arms in Production - Test not passing.

Comment:

Author: MintooXavier Updated on: 12/18/2024 1:55:40 PM

Comment body:

A.6.4.400 - Draft Mode

Added steps to verify draft mode actions are reflected in the instrument (from PQ)


Timeline events:

LABELLED | User: MintooXavier Created on: 6/5/2024 11:07:40 AM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 6/5/2024 11:07:40 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 6/5/2024 11:07:40 AM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 7/2/2024 9:09:42 AM Issue comment body:

Script Pre-reviewed:

  1. A.6.4.100 - User Create Projects
  2. A.6.4.200 - Move to Production - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  3. A.6.4.300 - REDUNDANT Edit Survey Responses - covered in A.6.4.1600 - Edit Survey Responses
  4. A.6.4.400 - Draft Mode - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  5. A.6.4.500 - Repeatable Instruments - Assign user rights twice else doesn’t work for me and pushed to MX_v13.1.37 branch
  6. A.6.4.600 - Events and Arms in Production - Test Passes on MAC but not on DELL
  7. A.6.4.700 - Blank Slate Projects
  8. B.6.4.800 - Project Title
  9. B.6.4.900 - Project Purpose
  10. B.6.4.1000 - Project Copy
  11. B.6.4.1100 - Erase data in Development Mode
  12. B.6.4.1200 - Delete Project
  13. B.6.4.1300 - Enable & Disable Survey
  14. B.6.4.1400 - Repeating Surveys
  15. A.6.4.1500 - Manage Survey User.
  16. A.6.4.1600 - Edit Survey Responses

ASSIGNED | User: MintooXavier Created on: 7/2/2024 10:16:13 AM Assignee: MintooXavier

LABELLED | User: MintooXavier Created on: 7/4/2024 12:21:52 PM Label name: Bug Label description: Something isn’t working

ISSUE COMMENT | User: MintooXavier Created on: 7/4/2024 1:59:22 PM Issue comment body:

All tests pass except
A.6.4.600 - Events and Arms in Production - Test not passing on my DELL laptop but works in MAC

All Tests pass

ISSUE COMMENT | User: MintooXavier Created on: 12/18/2024 1:55:40 PM Issue comment body:

A.6.4.400 - Draft Mode

Added steps to verify draft mode actions are reflected in the instrument (from PQ)

LABELLED | User: MintooXavier Created on: 12/18/2024 1:55:54 PM Label name: PQ Label description:

UNLABELLED | User: MintooXavier Created on: 12/18/2024 1:57:02 PM Label name: Bug Label description: Something isn’t working


————— feature ends —————



Feature: 2. Add / Manage Users

Id: I_kwDOIaOBn86LNVeo Uid: redcap_cypress-30
Author: MintooXavier Created: 6/5/2024 10:33:07 AM
Assignees: MintooXavier || phillidgithub Resource path: /CCTC-team/redcap_cypress/issues/30
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:05:11 PM
Locked: false Participants: MintooXavier || phillidgithub

Project item body:

Brief description:
This features is to add, update or delete a user from REDCap system (in control center).

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/02_add_manage_users.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.100%20-%20Create%20Users.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.200%20-%20Suspend%20-%20Unsuspend.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.300%20-%20Search%20by%20Criteria.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.400%20-%20Delete.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.500%20-%20Tabular%20View.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.600%20-%20Account%20Lockout.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.700%20-%20Account%20Lockout%20Time%20Change.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.800%20-%20Auto-Logout%20Inactivity%20Time.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/02_add_manage_users.spec

A.2.2.100 - Control Center - Users: The system shall support the ability create a single unique user with username, first name, last name, primary email, expiration date, and allow the user to create/copy projects.
A.2.2.200 - Control Center - Users: The system shall support the ability to suspend/unsuspend individual user.
A.2.2.300 - Control Center - Users: The system shall support the ability to search for individual users and view/edit user information for username, first name, last name and/or primary email.
A.2.2.400 - Control Center - Users: The system shall support deleting a user.
A.2.2.500 - Control Center - Users: The system shall support viewing all users in tabular form.
A.2.2.600 - Control Center - System Configuration, Security & Authentication: The system shall support the number of failed login attempts before user is locked out for a specific amount of time.
A.2.2.700 - Control Center - System Configuration, Security & Authentication: The system shall support the amount of time user will be locked out after having failed login attempts.
A.2.2.800 - Control Center - System Configuration, Security & Authentication: The system shall support the amount of inactivity time before auto logout time.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.100%20-%20Create%20Users.feature

Feature: A.2.2.100 Add/Manage users

As a REDCap end user I want to see that Add / Manage Users is functioning as expected

Scenario: A.2.2.100.100 System-level User Settings

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"

When I click on the link labeled "User Settings"
Then I should see "System-level User Settings"

When I select "No, only Administrators can create new projects" on the dropdown field labeled "Allow normal users to create new projects?"
And I select "No" on the dropdown field labeled "By default, allow new users to create projects"

When I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"

Scenario: A.2.2.100.200 Create a Table-based user Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “Control Center” And I click on the link labeled “Add Users (Table-based Only)” Then I should see “User Management for Table-based Authentication”

When I enter "Test_User1_Cypress" into the input field labeled "Username:"
And I enter "User1" into the input field labeled "First name:"
And I enter "Test" into the input field labeled "Last name:"
And I enter "Test_User1@redcap.edu" into the input field labeled "Primary email:"
And I check the checkbox labeled "Allow this user to request that projects be created for them by a REDCap administrator?"
And I click on the button labeled "Save"
Then I should see "User has been successfully saved."
And I should see "An email with login information was sent to: Test_User1@redcap.edu"
And I logout
# Reset password through email link
# leader will handle password change feature test

Scenario: A.2.2.100.300 Create Table-based users via bulk upload Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “Control Center” And I click on the link labeled “Add Users (Table-based Only)” Then I should see “User Management for Table-based Authentication”

When I click on the link labeled "Create users (bulk upload)"
And I upload a "csv" format file located at "import_files/testusers_bulkupload.csv", by clicking the button near "Upload CSV file of new users" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "User was successfully added, and an email with login info was sent to user"
And I should see "Test_User2"
And I should see "Test_User3"
And I should see "Test_User4"

Scenario: A.2.2.100.400 Prevent a Second User with the Same Username Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “Control Center” And I click on the link labeled “Add Users (Table-based Only)” Then I should see “User Management for Table-based Authentication”

When I click on the link labeled "Add Users (Table-based Only)"
And I enter "Test_User1" into the input field labeled "Username:"
And I enter "User1" into the input field labeled "First name:"
And I enter "Test" into the input field labeled "Last name:"
And I enter "Test_User1@redcap.edu" into the input field labeled "Primary email:"
And I click on the button labeled "Save"
Then I should see "ERROR: The user could not be added!"

Scenario: A.2.2.100.500 Search a Table-based user Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “Control Center” And I click on the link labeled “Browse Users” Then I should see “User Search: Search for user by username, first name, last name, or primary email”

When I enter "Test_User1" into the input field labeled "User Search: Search for user by username, first name, last name, or primary email"
And I click on the button labeled "Search"
Then I should see "Test_User1"

Scenario: A.2.2.100.600 User has no control center access Given I login to REDCap with the user “Test_User1” Then I should NOT see “Control Center”

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.200%20-%20Suspend%20-%20Unsuspend.feature

Feature: A.2.2.200 Add/Manage users

As a REDCap end user I want to see that Suspend/Unsuspend Individual Users is functioning as expected

Scenario: A.2.2.200.100 Account suspension

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Add Users (Table-based Only)"
Then I should see "User Management for Table-based Authentication"

#NOTE: We are testing Suspend / Unsuspend - NOT bulk upload feature
# Bulk upload steps are concessions to make this functional if performed manually
When I click on the link labeled "Create users (bulk upload)"
And I upload a "csv" format file located at "import_files/testusers_bulkupload.csv", by clicking the button near "Upload CSV file of new users" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "User was successfully added, and an email with login info was sent to user"
And I should see "Test_User1"
And I should see "Test_User2"
And I should see "Test_User3"
And I should see "Test_User4"

When I click on the link labeled "Browse Users"
And I enter "Test_User1" into the input field labeled "User Search: Search for user by username, first name, last name, or primary email"
And I click on the button labeled "Search"
Then I should see "Test_User1"

When I click on the button labeled "Suspend user account" and cancel the confirmation window
Then I should NOT see "Success! The user has now been suspended from REDCap"
And I should NOT see "unsuspend user"

Given I logout
And I login to REDCap with the user "Test_User1"
Then I should see "Home"
And I logout

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Browse Users"
Then I should see "User Search: Search for user by username, first name, last name, or primary email"

When I enter "Test_User1" into the input field labeled "User Search: Search for user by username, first name, last name, or primary email"
And I click on the button labeled "Search"
Then I should see "Test_User1"

When I click on the button labeled "Suspend user account" and accept the confirmation window
Then I should see a dialog containing the following text: "Success! The user has now been suspended from REDCap"

Given I click on the button labeled "Close" in the dialog box
Then I should see "unsuspend user"

When I click on the link labeled "View User List By Criteria"
And I select "Suspended users" on the dropdown field labeled "Display only:"
And I click on the button labeled "Display User List"
Then I should see "Loading..."
And I should see "User List"
And I should see a link labeled "Test_User1"

Given I logout
And I login to REDCap with the user "Test_User1"
Then I should see "The following REDCap user account has been suspended:"
And I logout

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Browse Users"
Then I should see "User Search: Search for user by username, first name, last name, or primary email"

When I enter "Test_User1" into the input field labeled "User Search: Search for user by username, first name, last name, or primary email"
And I click on the button labeled "Search"
Then I should see "Test_User1"

When I click on the link labeled "unsuspend user" and cancel the confirmation window
Then I should see "unsuspend user"

Given I logout
And I login to REDCap with the user "Test_User1"
Then I should see "The following REDCap user account has been suspended:"
And I logout

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Browse Users"
Then I should see "User Search: Search for user by username, first name, last name, or primary email"

When I enter "Test_User1" into the input field labeled "User Search: Search for user by username, first name, last name, or primary email"
And I click on the button labeled "Search"
Then I should see "Test_User1"

When I click on the link labeled "unsuspend user" and accept the confirmation window
Then I should see a dialog containing the following text: "Success! The user has now been unsuspended and will now be able to access REDCap again"

When I click on the button labeled "Close" in the dialog box
And I should see a button labeled "Suspend user account"

Given I logout
And I login to REDCap with the user "Test_User1"
Then I should see "Home"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.300%20-%20Search%20by%20Criteria.feature

Feature: A.2.2.300 Add/Manage users Control Center - Users: The system shall support the ability to search for individual users and view/edit user information for username, first name, last name and/or primary email.

As a REDCap end user I want to see that Search Users is functioning as expected.

Scenario: A.2.2.300.100 Search by username, first name, last name and/or primary email

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Browse Users"
And I click on the link labeled "View User List By Criteria"
Then I should see "View User List By Criteria"

#FUNCTIONAL REQUIREMENT
##ACTION Search by username with "Keyword search"
#Username is Test_Admin
When I enter "Test_Admin" into the field with the placeholder text of "Keyword search"
And I click on the button labeled "Display User List"
#VERIFY_SEARCH
Then I should see a table header and rows containing the following values in the browse users table:
  | Username   | First Name | Last Name | Email               |
  | test_admin | Admin      | User      | test_admin@test.edu |


#FUNCTIONAL REQUIREMENT
##ACTION Search by First Name with "Keyword search"
When I click on the link labeled "View User List By Criteria"
And I enter "Admin" into the field with the placeholder text of "Keyword search"
And I click on the button labeled "Display User List"
Then I should see a table header and rows containing the following values in the browse users table:
  | Username   | First Name | Last Name | Email               |
  | test_admin | Admin      | User      | test_admin@test.edu |

#FUNCTIONAL REQUIREMENT
##ACTION Search by Last Name with "Keyword search"
When I click on the link labeled "View User List By Criteria"
And I enter "Test" into the field with the placeholder text of "Keyword search"
And I click on the button labeled "Display User List"
Then I should see a table header and rows containing the following values in the browse users table:
  | Username   | First Name | Last Name | Email               |
  | test_admin | Admin      | User      | test_admin@test.edu |

#FUNCTIONAL REQUIREMENT
##ACTION Search by Email with "Keyword search"
When I click on the link labeled "View User List By Criteria"
And I enter "test_admin@test.edu" into the field with the placeholder text of "Keyword search"
And I click on the button labeled "Display User List"
Then I should see a table header and rows containing the following values in the browse users table:
  | Username   | First Name | Last Name | Email               |
  | test_admin | Admin      | User      | test_admin@test.edu |

#FUNCTIONAL REQUIREMENT
##ACTION Edit user information
When I click on the link labeled "View User List By Criteria"
And I click on the button labeled "Display User List"
When I click on the link labeled exactly "test_user1"
Then I should see "Editable user attributes"
And I click on the button labeled "Edit user info"
And I clear the field labeled "First name:"
And I enter "Test1" into the input field labeled "First name:"
And I click on the button labeled "Save"
Then I should see "User has been successfully saved."

#VERIFY
When I click on the link labeled "Browse Users"
And I click on the link labeled "View User List By Criteria"
And I enter "test_user1" into the field with the placeholder text of "Keyword search"
And I click on the button labeled "Display User List"
Then I should see a table header and rows containing the following values in the browse users table:
  | Username   | First Name | Last Name | Email               |
  | test_user1 | Test1      | User1     | Test_User1@test.edu |

##VERIFY_LOG
When I click on the link labeled "User Activity Log"
Then I should see a table header and rows containing the following values in a table:
  | User       | Event     |
  | test_admin | Edit user |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.400%20-%20Delete.feature

Feature: A.2.2.400 Add/Manage users

As a REDCap end user I want to see that Delete Users is functioning as expected.

Scenario: A.2.2.400.100 Delete User Function

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Add Users (Table-based Only)"
Then I should see "Create single user"

#SETUP_USER
When I enter "Delete_User" into the input field labeled "Username:"
And I enter "User_firstname" into the input field labeled "First name:"
And I enter "User_lastname" into the input field labeled "Last name:"
And I enter "Delete_User@test.edu" into the input field labeled "Primary email:"
And I click on the button labeled "Save"
Then I should see "User has been successfully saved."

When I click on the link labeled "Browse Users"
Then I should see "User Search: Search for user by username, first name, last name, or primary email"

When I enter "Delete_User" into the input field labeled "User Search: Search for user by username, first name, last name, or primary email"
And I click on the button labeled "Search"
Then I should see "Editable user attributes"
And I should see "Delete_User"

#FUNCTIONAL REQUIREMENT
##ACTION Cancel delete user
Given I click on the button labeled "Delete user from system" and cancel the confirmation window
Then I should NOT see "The user 'Delete_User' has now been removed and deleted from all REDCap projects"

When I click on the link labeled "Browse Users"
Then I should see "User Search: Search for user by username, first name, last name, or primary email"

#VERIFY User exists
When I enter "Delete_User" into the input field labeled "User Search: Search for user by username, first name, last name, or primary email"
And I click on the button labeled "Search"
Then I should see "Editable user attributes"
And I should see "Delete_User"

#FUNCTIONAL REQUIREMENT
##ACTION Delete user
When I click on the button labeled "Delete user from system" and accept the confirmation window
Then I should see "The user 'Delete_User' has now been removed and deleted from all REDCap projects"
And I click on the button labeled "Close"

#VERIFY User does not exist
When I click on the link labeled "Browse Users"
Then I should see "User Search: Search for user by username, first name, last name, or primary email"

When I enter "Delete_User" into the input field labeled "User Search: Search for user by username, first name, last name, or primary email"
And I click on the button labeled "Search"
Then I should see "User does not exist!"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.500%20-%20Tabular%20View.feature

Feature: A.2.2.500 Add/Manage users

As a REDCap end user I want to see that Users in tabular form is functioning as expected

Scenario: A.2.2.500.100 Users in tabular form

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Browse Users"
Then I should see "User Search: Search for user by username, first name, last name, or primary email"

#FUNCTIONAL REQUIREMENT
##ACTION View Users in tabular form
When I click on the link labeled "View User List By Criteria"
And I select "All users" on the dropdown field labeled "Display only:"
And I click on the button labeled "Display User List"

#VERIFY View Users in tabular form
Then I should see a table header and rows containing the following values in the browse users table:
  | Username   | First Name | Last Name | Email               |
  | test_admin | Admin      | User      | test_admin@test.edu |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.600%20-%20Account%20Lockout.feature

Feature: A.2.2.600 Add/Manage users

As a REDCap end user I want to see that Users failed login lockout is functioning as expected.

Scenario: A.2.2.600.100 User account locked out after too many attempts

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Security & Authentication"
Then I should see "Security & Authentication Configuration"

When I clear the field labeled "Number of failed login attempts before user is locked out for a specified amount of time, which is set below."
And I enter "1" into the input field labeled "Number of failed login attempts before user is locked out for a specified amount of time, which is set below."
And I clear the field labeled "Amount of time user will be locked out after having failed login attempts exceeding the limit set above."
And I enter "2" into the input field labeled "Amount of time user will be locked out after having failed login attempts exceeding the limit set above."
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I enter "Test_User1" into the input field labeled "Username:"
And I enter "test" into the input field labeled "Password:"
And I click on the button labeled "Log In"
Then I should see "ERROR: You entered an invalid user name or password!"

Given I enter "Test_User1" into the input field labeled "Username:"
And I enter "test" into the input field labeled "Password:"
And I click on the button labeled "Log In"
Then I should see "ACCESS DENIED!"

Given I wait for 2 minutes

Given I login to REDCap with the user "Test_User1"
And I see "My Projects"
Given I logout

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Security & Authentication"
Then I should see "Security & Authentication Configuration"

When I clear the field labeled "Number of failed login attempts before user is locked out for a specified amount of time, which is set below."
And I enter "2" into the input field labeled "Number of failed login attempts before user is locked out for a specified amount of time, which is set below."
And I clear the field labeled "Amount of time user will be locked out after having failed login attempts exceeding the limit set above."
And I enter "1" into the input field labeled "Amount of time user will be locked out after having failed login attempts exceeding the limit set above."
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Given I enter "Test_User1" into the input field labeled "Username:"
And I enter "test" into the input field labeled "Password:"
And I click on the button labeled "Log In"
Then I should see "ERROR"

Given I enter "Test_User1" into the input field labeled "Username:"
And I enter "test" into the input field labeled "Password:"
And I click on the button labeled "Log In"
Then I should see "ERROR"

Given I enter "Test_User1" into the input field labeled "Username:"
And I enter "test" into the input field labeled "Password:"
And I click on the button labeled "Log In"
Then I should see "ACCESS DENIED!"

Given I wait for 1 minute

Given I login to REDCap with the user "Test_User1"
And I see "My Projects"
Given I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.700%20-%20Account%20Lockout%20Time%20Change.feature

Feature: A.2.2.700 Add/Manage users

As a REDCap end user I want to see that Users failed login lockout is functioning as expected.

Scenario: A.2.2.700.100 User account locked time

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled "Security & Authentication"
Then I should see "Security & Authentication Configuration"

Given I clear the field labeled "Number of failed login attempts before user is locked out for a specified amount of time, which is set below."
When I enter "1" into the input field labeled "Number of failed login attempts before user is locked out for a specified amount of time, which is set below."
And I clear the field labeled "Amount of time user will be locked out after having failed login attempts exceeding the limit set above."
And I enter "2" into the input field labeled "Amount of time user will be locked out after having failed login attempts exceeding the limit set above."
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
And I logout

#Login with bad password; first failed attempt at logging in
Given I enter "Test_User1" into the input field labeled "Username:"
And I enter "test" into the input field labeled "Password:"
And I click on the button labeled "Log In"
Then I should see "ERROR: You entered an invalid user name or password!"

#Try to login again with a bad password; we will be locked out
Given I enter "Test_User1" into the input field labeled "Username:"
And I enter "test" into the input field labeled "Password:"
And I click on the button labeled "Log In"
Then I should see "ACCESS DENIED!"

#Try logging in again after 1 minute
Given I wait for 1 minute
Given I attempt to login to REDCap with the user "Test_User1"
Then I should see "ACCESS DENIED!"

#2 minutes of waiting total; now we can login
Given I wait for another 1 minute
When I attempt to login to REDCap with the user "Test_User1"
Then I should see "My Projects"
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
Then I click on the link labeled "Security & Authentication"
And I should see "Security & Authentication Configuration"

Given I clear the field labeled "Number of failed login attempts before user is locked out for a specified amount of time, which is set below."
When I enter "1" into the input field labeled "Number of failed login attempts before user is locked out for a specified amount of time, which is set below."
And I clear the field labeled "Amount of time user will be locked out after having failed login attempts exceeding the limit set above."
And I enter "1" into the input field labeled "Amount of time user will be locked out after having failed login attempts exceeding the limit set above."
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
And I logout

#Login with bad password; first failed attempt at logging in
Given I enter "Test_User1" into the input field labeled "Username:"
And I enter "test" into the input field labeled "Password:"
And I click on the button labeled "Log In"
Then I should see "ERROR: You entered an invalid user name or password!"

#Try to login again with a bad password and we will be locked out
Given I enter "Test_User1" into the input field labeled "Username:"
And I enter "test" into the input field labeled "Password:"
And I click on the button labeled "Log In"
Then I should see "ACCESS DENIED!"

#We only have to wait for 1 minute total this time
Given I wait for 1 minute
When I attempt to login to REDCap with the user "Test_User1"
Then I should see "My Projects"
And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Add%20Manage%20Users_2/A.2.2.800%20-%20Auto-Logout%20Inactivity%20Time.feature

Feature: A.2.2.800 Add/Manage users

As a REDCap end user I want to see that amount of inactivity time before auto logout time is functioning as expected.

Scenario: A.2.2.800.100 User account locked time

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Security & Authentication"
Then I should see "Security & Authentication Configuration"

Given I clear the field labeled "Auto logout time"
When I enter "4" into the input field labeled "Auto logout time"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"

Given I logout
When I login to REDCap with the user "Test_User1"
Then I should see a link labeled "My Projects"

Given I wait for 2 minutes
Then I should see a dialog containing the following text: "REDCap Auto Logout Warning"

Given I wait for another 2 minutes
Then I should see a dialog containing the following text: "Due to inactivity, your REDCap session has expired"

Given I click on the button labeled "Log In" in the dialog box
Then I should see "Please log in with your user name and password."

Given I successfully login to REDCap with the user "Test_User1"
Then I should see a link labeled "My Projects"

Given I logout
And I successfully login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Security & Authentication"
Then I should see "Security & Authentication Configuration"

When I clear the field labeled "Auto logout time"
And I enter "3" into the input field labeled "Auto logout time"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"

Given I logout
And I successfully login to REDCap with the user "Test_User1"
And I wait for 2 minutes
Then I should see a dialog containing the following text: "REDCap Auto Logout Warning"

Given I wait for 1 minute
Then I should see a dialog containing the following text: "Due to inactivity, your REDCap session has expired"

Given I click on the button labeled "Log In" in the dialog box
Then I should see "Please log in with your user name and password."

Given I successfully login to REDCap with the user "Test_User1"
Then I should see a link labeled "My Projects"

Given I logout
And I successfully login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Security & Authentication"
Then I should see "Security & Authentication Configuration"

When I clear the field labeled "Auto logout time"
And I enter "20" into the input field labeled "Auto logout time"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
Given I logout

Comments:

Comment:

Author: MintooXavier Updated on: 7/24/2024 12:22:24 PM

Comment body:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

A.2.2.300 - Add/Manage users Control Center - Users: The system shall support the ability to search for individual users and view/edit user information for username, first name, last name and/or primary email.

Comment edits:

Created: 7/24/2024 12:22:24 PM Edited on: 7/24/2024 12:22:24 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

A.2.2.300 - Add/Manage users Control Center - Users: The system shall support the ability to search for individual users and view/edit user information for username, first name, last name and/or primary email. - Added steps to test Edit user information. - Modified the script and pushed to MX_v13.1.37

Created: 7/24/2024 12:22:15 PM Edited on: 7/24/2024 12:22:15 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

A.2.2.300 - Add/Manage users Control Center - Users: The system shall support the ability to search for individual users and view/edit user information for username, first name, last name and/or primary email. - Added steps to test Edit user information. - Modified the script and pushed to MX_v13.1.37

Created: 6/26/2024 12:48:57 PM Edited on: 6/26/2024 12:48:57 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

A.2.2.300 - Add/Manage users Control Center - Users: The system shall support the ability to search for individual users and view/edit user information for username, first name, last name and/or primary email. - Edit user information is not tested in the script.

Modified the script to add ‘Edit user info’ and pushed to MX_v13.1.37

Created: 6/21/2024 1:34:15 PM Edited on: 6/21/2024 1:34:15 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

A.2.2.300 - Add/Manage users Control Center - Users: The system shall support the ability to search for individual users and view/edit user information for username, first name, last name and/or primary email. - Edit user information is not tested in the script.

Created: 6/21/2024 1:34:15 PM Edited on: 6/21/2024 1:18:18 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw

A.2.2.300 - Add/Manage users Control Center - Users: The system shall support the ability to search for individual users and view/edit user information for username, first name, last name and/or primary email. - Edit user information is not tested in the script.

Comment:

Author: MintooXavier Updated on: 7/2/2024 8:44:49 AM

Comment body:

Scripts pre-reviewed:

  1. A.2.2.100 - Create Users (Edit user information is not tested in the script.)
  2. A.2.2.200 - Suspend - Unsuspend
  3. A.2.2.300 - Search by Criteria
  4. A.2.2.400 - Delete
  5. A.2.2.500 - Tabular View
  6. A.2.2.600 - Account Lockout
  7. A.2.2.700 - Account Lockout Time Change
  8. A.2.2.800 - Auto-Logout Inactivity Time

Comment edits:

Created: 7/2/2024 8:44:49 AM Edited on: 7/2/2024 8:44:49 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed:

  1. A.2.2.100 - Create Users (Edit user information is not tested in the script.)
  2. A.2.2.200 - Suspend - Unsuspend
  3. A.2.2.300 - Search by Criteria
  4. A.2.2.400 - Delete
  5. A.2.2.500 - Tabular View
  6. A.2.2.600 - Account Lockout
  7. A.2.2.700 - Account Lockout Time Change
  8. A.2.2.800 - Auto-Logout Inactivity Time

Created: 7/1/2024 11:37:26 AM Edited on: 7/1/2024 11:37:26 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed

  1. A.2.2.100 - Create Users (Edit user information is not tested in the script.)
  2. A.2.2.200 - Suspend - Unsuspend
  3. A.2.2.300 - Search by Criteria
  4. A.2.2.400 - Delete
  5. A.2.2.500 - Tabular View
  6. A.2.2.600 - Account Lockout
  7. A.2.2.700 - Account Lockout Time Change
  8. A.2.2.800 - Auto-Logout Inactivity Time

Created: 6/28/2024 10:56:57 AM Edited on: 6/28/2024 10:56:57 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed

Created: 6/25/2024 12:34:03 PM Edited on: 6/25/2024 12:34:03 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts checked

Created: 6/25/2024 12:32:05 PM Edited on: 6/25/2024 12:32:05 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts checked

Created: 6/24/2024 3:47:05 PM Edited on: 6/24/2024 3:47:05 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts checked

Created: 6/24/2024 3:39:45 PM Edited on: 6/24/2024 3:39:45 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts checked

Created: 6/24/2024 3:30:03 PM Edited on: 6/24/2024 3:30:03 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts checked

Created: 6/24/2024 3:27:35 PM Edited on: 6/24/2024 3:27:35 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts checked

Created: 6/24/2024 3:27:35 PM Edited on: 6/24/2024 3:24:14 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Checked

Comment:

Author: MintooXavier Updated on: 7/4/2024 1:58:12 PM

Comment body:

All tests pass

Comment edits:

Created: 7/4/2024 1:58:12 PM Edited on: 7/4/2024 1:58:12 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

All tests pass

Created: 7/4/2024 1:58:12 PM Edited on: 7/4/2024 1:56:16 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

All test pass

Comment:

Author: phillidgithub Updated on: 7/15/2024 9:32:46 AM

Comment body:

Scripts post-reviewed:
A.2.2.300 - Search by Criteria
Tests pass

After line 62, do we need to verify that when the user info is edited and saved then the user info is recorded correctly? At the moment we seem to be relying on the successfully saved message

Comment:

Author: MintooXavier Updated on: 7/29/2024 12:27:23 PM

Comment body:
  1. Script modified to check user info after edit.
  2. ATS team accepted the modified script.

Comment:

Author: MintooXavier Updated on: 10/18/2024 8:37:04 AM

Comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


Timeline events:

LABELLED | User: MintooXavier Created on: 6/5/2024 11:07:01 AM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 6/5/2024 11:07:01 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 6/5/2024 11:07:01 AM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 6/21/2024 1:18:18 PM Issue comment body:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

A.2.2.300 - Add/Manage users Control Center - Users: The system shall support the ability to search for individual users and view/edit user information for username, first name, last name and/or primary email.

ISSUE COMMENT | User: MintooXavier Created on: 6/24/2024 3:24:14 PM Issue comment body:

Scripts pre-reviewed:

  1. A.2.2.100 - Create Users (Edit user information is not tested in the script.)
  2. A.2.2.200 - Suspend - Unsuspend
  3. A.2.2.300 - Search by Criteria
  4. A.2.2.400 - Delete
  5. A.2.2.500 - Tabular View
  6. A.2.2.600 - Account Lockout
  7. A.2.2.700 - Account Lockout Time Change
  8. A.2.2.800 - Auto-Logout Inactivity Time

LABELLED | User: MintooXavier Created on: 6/25/2024 12:40:32 PM Label name: Question Label description: Further information is requested

ASSIGNED | User: MintooXavier Created on: 6/27/2024 2:58:23 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/4/2024 1:56:16 PM Issue comment body:

All tests pass

ASSIGNED | User: phillidgithub Created on: 7/15/2024 9:05:53 AM Assignee: phillidgithub

ISSUE COMMENT | User: phillidgithub Created on: 7/15/2024 9:32:46 AM Issue comment body:

Scripts post-reviewed:
A.2.2.300 - Search by Criteria
Tests pass

After line 62, do we need to verify that when the user info is edited and saved then the user info is recorded correctly? At the moment we seem to be relying on the successfully saved message

ISSUE COMMENT | User: MintooXavier Created on: 7/29/2024 12:27:23 PM Issue comment body:
  1. Script modified to check user info after edit.
  2. ATS team accepted the modified script.

UNLABELLED | User: MintooXavier Created on: 7/29/2024 12:27:32 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 10/18/2024 8:37:04 AM Issue comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


————— feature ends —————



Feature: 1. Run Configuration Check

Id: I_kwDOIaOBn86LM987 Uid: redcap_cypress-29
Author: MintooXavier Created: 6/5/2024 9:53:36 AM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/29
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:04:52 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
Configuration checklist shows if the REDCap is configured correctly. It tells if the everything is installed correctly, REDCap file structure is correct, tables etc are properly configured.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/01_run_configuration_check.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Configuration%20Check_1/A.1.1.100%20-%20Run%20Configuration%20Check.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/01_run_configuration_check.spec

A.1.1.100 - Control Center: The system shall support the ability to run a configuration check test page.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Configuration%20Check_1/A.1.1.100%20-%20Run%20Configuration%20Check.feature

Feature: A.1.1.100 Run Configuration Check test page

As a REDCap end user I want to see that Configuration Checklist is functioning as expected

Scenario: A.1.1.100.100 Configuration Checklist Tests

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
Then I should be able to locate and visit the Control Center link labeled "Browse Projects"
And I should be able to locate and visit the Control Center link labeled "Edit a Project's Settings"
And I should be able to locate and visit the Control Center link labeled "Configuration Check"
And I should be able to locate and visit the Control Center link labeled "General Configuration"
And I should be able to locate and visit the Control Center link labeled "Security & Authentication"
And I should be able to locate and visit the Control Center link labeled "User Settings"
And I should be able to locate and visit the Control Center link labeled "File Upload Settings"
And I should be able to locate and visit the Control Center link labeled "Field Validation Types"

When I click on the link labeled "Configuration Check"
Then I should see "Configuration Check"
And I should see "TEST 1"
And I should see "TEST 2"
And I should see "TEST 3"
And I should see "TEST 4"
And I should see "TEST 5"
And I should see "TEST 6"

Comments:

Comment:

Author: MintooXavier Updated on: 7/2/2024 8:43:52 AM

Comment body:

Script pre-reviewed

Comment:

Author: MintooXavier Updated on: 7/4/2024 1:55:23 PM

Comment body:

Test Pass

Comment:

Author: MintooXavier Updated on: 10/18/2024 8:38:55 AM

Comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


Timeline events:

LABELLED | User: MintooXavier Created on: 6/5/2024 9:53:36 AM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 6/5/2024 9:53:36 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 6/5/2024 9:53:36 AM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 6/27/2024 2:58:10 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/2/2024 8:43:52 AM Issue comment body:

Script pre-reviewed

ISSUE COMMENT | User: MintooXavier Created on: 7/4/2024 1:55:23 PM Issue comment body:

Test Pass

ISSUE COMMENT | User: MintooXavier Created on: 10/18/2024 8:38:55 AM Issue comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


————— feature ends —————



Feature: 3. Assign Administrators and Account Managers

Id: I_kwDOIaOBn86LNWIp Uid: redcap_cypress-31
Author: MintooXavier Created: 6/5/2024 10:34:05 AM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/31
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:05:34 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This features is to add a user as an admin in REDCap system (in control center).

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/03_assign_administrators_and_account_managers.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Assign%20Administrators_3/A.2.3.100%20-%20Administrators%20Table.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Assign%20Administrators_3/A.2.3.200%20-%20Add%20Remove%20Admins.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Assign%20Administrators_3/A.2.3.300%20-%20Super%20Users%20and%20Account%20Managers.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Assign%20Administrators_3/A.2.3.400%20-%20Assign%20Administrators%20and%20Account%20Managers.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/03_assign_administrators_and_account_managers.spec

A.2.3.100 - Control Center: The system shall support viewing all current administrators and account managers.
A.2.3.200 - Control Center: The system shall support the granting and revoking administrators’ and account managers’ access to the system to individual users.
A.2.3.300 - Control Center: The system shall support the granting and revoking administrators’ ability to modify system configuration pages.
A.2.3.400 - Control Center: The system shall support the granting and revoking of administrators’ ability to access to all projects and data with maximum user privileges.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Assign%20Administrators_3/A.2.3.100%20-%20Administrators%20Table.feature

Feature: A.2.3.100 Assign administrators and account managers

As a REDCap end user I want to see that Control Center is functioning as expected

Scenario: A.2.3.100.100 View administrator accounts

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Administrator Privileges"
Then I should see "Set administrator privileges"
And I should see a table header and rows containing the following values in the administrators table:
  | Administrators          |
  | Test_Admin (Admin User) |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Assign%20Administrators_3/A.2.3.200%20-%20Add%20Remove%20Admins.feature

Feature: A.2.3.200 Assign administrators and account managers

As a REDCap end user I want to see that Assign Super Users / Account Managers is functioning as expected

Scenario: A.2.3.200.100 Give/remove user admin user rights

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
Then I click on the link labeled "Administrator Privileges"
And I should see "Set administrator privileges"

Given I enter "Test_User1" into the field with the placeholder text of "Search users to add as admin"
When I enable the Administrator Privilege "Set administrator privileges" for a new administrator
And I enable the Administrator Privilege "Access to Control Center dashboards" for a new administrator
And I click on the button labeled "Add"
Then I should see 'The user "Test_User1" has now been granted one or more administrator privileges'

Given I click on the button labeled "OK"
Then I should see "Test_User1"

Given I click on the link labeled "Control Center"
When I click on the link labeled "Administrator Privileges"
Then I should see "Set administrator privileges"
And I should see "Test_User1"

Given I logout
When I login to REDCap with the user "Test_User1"
When I click on the link labeled "Control Center"
When I click on the link labeled "Administrator Privileges"
Then I should see "Set administrator privileges"
And I should see "Test_User1"

Given I logout
When I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Administrator Privileges"
Then I should see "Set administrator privileges"
Given I disable the Administrator Privilege "Set administrator privileges" for the administrator "Test_User1"

Given I logout
When I login to REDCap with the user "Test_User1"
Then I should see a link labeled "Control Center"
When I click on the link labeled "Control Center"
Then I should NOT see a link labeled "Administrator Privileges"
And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Assign%20Administrators_3/A.2.3.300%20-%20Super%20Users%20and%20Account%20Managers.feature

Feature: A.2.3.300 Assign administrators and account managers

As a REDCap end user I want to see that Assign Super Users / Account Managers is functioning as expected

Scenario: A.2.3.300.100 Modify and Revoke Admin’s User Rights

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Administrator Privileges"
Then I should see "Set administrator privileges"

When I enter "Test_User1" into the field with the placeholder text of "Search users to add as admin"
And I enable the Administrator Privilege "Access to Control Center dashboards" for a new administrator
And I enable the Administrator Privilege "Manage user accounts" for a new administrator
And I enable the Administrator Privilege "Modify system configuration pages" for a new administrator
And I enable the Administrator Privilege "Perform REDCap upgrades" for a new administrator
And I enable the Administrator Privilege "Access to all projects and data with maximum user privileges" for a new administrator
And I enable the Administrator Privilege "Install, upgrade, and configure External Modules" for a new administrator
And I click on the button labeled "Add"
Then I should see 'The user "Test_User1" has now been granted one or more administrator privileges'
And I click on the button labeled "OK"
And I should see "Test_User1"

Given I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "Control Center"
Then I should see "Control Center Home"
# Checking if 'Access to Control Center dashboards' is enabled
And I should see a link labeled "System Statistics"
# Checking if 'Perform REDCap upgrades' is enabled
# Then I should see "Ready to upgrade to REDCap"
Then I should see "New REDCap versions are available for upgrade"
# Checking if 'Manage user accounts' is enabled
And I should see a link labeled "Browse Users"
# Checking if 'Modify system configuration pages' is enabled
When I click on the link labeled "General Configuration"
And I should see a button labeled "Save Changes"
# Checking if 'Install, upgrade, and configure External Modules' is enabled
When I click on the link labeled exactly "Manage"
And I should see a button labeled "Enable a module"
Given I logout

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Administrator Privileges"
Then I should see "Set administrator privileges"

Given I disable the Administrator Privilege "Access to Control Center dashboards" for the administrator "Test_User1"
And I disable the Administrator Privilege "Manage user accounts" for the administrator "Test_User1"
And I disable the Administrator Privilege "Modify system configuration pages" for the administrator "Test_User1"
And I disable the Administrator Privilege "Perform REDCap upgrades" for the administrator "Test_User1"
And I disable the Administrator Privilege "Install, upgrade, and configure External Modules" for the administrator "Test_User1"
And I logout
And I login to REDCap with the user "Test_User1"
When I click on the link labeled "Control Center"
Then I should see "Control Center Home"

# Checking if 'Access to Control Center dashboards' is disabled
And I should NOT see a link labeled "System Statistics"
# Checking if 'Perform REDCap upgrades' is disabled
Then I should NOT see "Ready to upgrade to REDCap"
# Checking if 'Manage user accounts' is disabled
And I should NOT see a link labeled "Browse Users"
# Checking if 'Modify system configuration pages' is disabled
When I click on the link labeled "General Configuration"
And I should NOT see a button labeled "Save Changes"
# Checking if 'Install, upgrade, and configure External Modules' is disabled
When I click on the link labeled exactly "Manage"
And I should NOT see a button labeled "Enable a module"
Given I logout

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Administrator Privileges"
Then I should see "Set administrator privileges"

Given I disable the Administrator Privilege "Access to all projects and data with maximum user privileges" for the administrator "Test_User1"
Then I should see a dialog containing the following text: "NOTICE"
And I should see a dialog containing the following text: "Please be aware that you have unchecked ALL the administrator privileges for this user"
And I click on the button labeled "Close" in the dialog box
And I logout
And I login to REDCap with the user "Test_User1"
And I should NOT see a link labeled "Control Center"
Given I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Assign%20Administrators_3/A.2.3.400%20-%20Assign%20Administrators%20and%20Account%20Managers.feature

Feature: A.2.3.400 Assign administrators and account managers

As a REDCap end user I want to see that Assign Super Users / Account Managers is functioning as expected

Scenario: A.2.3.400.100 Give and remove user maximum user privileges

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Administrator Privileges"
Then I should see "Set administrator privileges"

When I enter "Test_User1" into the field with the placeholder text of "Search users to add as admin"
And I enable the Administrator Privilege "Access to all projects and data with maximum user privileges" for a new administrator
And I enable the Administrator Privilege "Access to Control Center dashboards" for a new administrator
And I click on the button labeled "Add"
Then I should see 'The user "Test_User1" has now been granted one or more administrator privileges'
And I click on the button labeled "OK" in the dialog box

Given I logout
And I login to REDCap with the user "Test_User1"
And I click on the link labeled "Control Center"
Then I should see "Control Center Home"
And I should see a link labeled "System Statistics"
And I should see a link labeled "Edit a Project's Settings"

Given I logout
And I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Administrator Privilege"
Then I should see "Set administrator privileges"
And I disable the Administrator Privilege "Access to all projects and data with maximum user privileges" for the administrator "Test_User1"

Given I logout
And I login to REDCap with the user "Test_User1"
When I click on the link labeled "Control Center"
Then I should see "Control Center Home"

And I should see a link labeled "System Statistics"
And I should NOT see a link labeled "Edit a Project's Settings"
And I logout

Comments:

Comment:

Author: MintooXavier Updated on: 7/2/2024 8:45:02 AM

Comment body:

Scripts pre-reviewed:

  1. A.2.3.100 - Administrators Table
  2. A.2.3.200 - Add Remove Admins
  3. A.2.3.300 - Super Users and Account Managers
  4. A.2.3.400 - Assign Administrators and Account Managers

Comment edits:

Created: 7/2/2024 8:45:02 AM Edited on: 7/2/2024 8:45:02 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed:

  1. A.2.3.100 - Administrators Table
  2. A.2.3.200 - Add Remove Admins
  3. A.2.3.300 - Super Users and Account Managers
  4. A.2.3.400 - Assign Administrators and Account Managers

Created: 7/1/2024 11:36:49 AM Edited on: 7/1/2024 11:36:49 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed

  1. A.2.3.100 - Administrators Table
  2. A.2.3.200 - Add Remove Admins
  3. A.2.3.300 - Super Users and Account Managers
  4. A.2.3.400 - Assign Administrators and Account Managers

Created: 7/1/2024 11:36:42 AM Edited on: 7/1/2024 11:36:42 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed

A.2.3.100 - Administrators Table A.2.3.200 - Add Remove Admins A.2.3.300 - Super Users and Account Managers A.2.3.400 - Assign Administrators and Account Managers

Created: 6/28/2024 10:56:36 AM Edited on: 6/28/2024 10:56:36 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed

Created: 6/26/2024 12:15:56 PM Edited on: 6/26/2024 12:15:56 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts reviewed

Created: 6/26/2024 12:15:54 PM Edited on: 6/26/2024 12:15:54 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts reviewed

Created: 6/25/2024 1:22:51 PM Edited on: 6/25/2024 1:22:51 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts reviewed

Created: 6/25/2024 1:22:51 PM Edited on: 6/25/2024 1:22:40 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts reviewed

Comment:

Author: MintooXavier Updated on: 10/10/2024 8:43:41 AM

Comment body:

Emailed ATS and RSVC regarding the below scripts:

  1. A.2.3.200 - Add Remove Admins
  1. A.2.3.300 - Super Users and Account Managers
  1. A.2.3.400 - Assign Administrators and Account Managers

Updated all three scripts and pushed to MX_v13.1.37

Comment edits:

Created: 10/10/2024 8:43:41 AM Edited on: 10/10/2024 8:43:41 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed ATS and RSVC regarding the below scripts: 1. A.2.3.200 - Add Remove Admins - After enabling/disabling ‘Set administrator privileges’, Login as Test_User1 and check if the link ‘Administrator Privileges’ is visible/not-visible.

  1. A.2.3.300 - Super Users and Account Managers
  • After enabling/disabling Administrator Privileges, Login as Test_User1 and check if the links are visible/not-visible. This is not checked.
  • Added steps to enable/disable all Administrator Privileges and check if the corresponding links are visible/invisible
  • After disabling ‘Modify system configuration pages’ settings, the link ‘General Configuration’ is still visible but the ‘Save Changes’ button in it is invisible.
  • Similarly, for External Modules
  • Checking for upgrade privileges are not easy as the upgrade messages are different . Image Image
  1. A.2.3.400 - Assign Administrators and Account Managers
  • After enabling/disabling ‘Access to all projects and data with maximum user privileges, Login as Test_User1 and check if the link ‘Edit a Project’s Settings’ is visible/not-visible.
  • when ‘Access to all projects and data with maximum user privileges’ is disabled, the link ‘Browse Projects’ is still visible but the link ‘Edit a Project’s Settings’ is not visible.

Updated all three scripts and pushed to MX_v13.1.37

Created: 10/10/2024 8:40:40 AM Edited on: 10/10/2024 8:40:40 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed ATS and RSVC regarding the below scripts: 1. A.2.3.200 - Add Remove Admins - After enabling/disabling ‘Set administrator privileges’, Login as Test_User1 and check if the link ‘Administrator Privileges’ is visible/not-visible.

  1. A.2.3.300 - Super Users and Account Managers
  • After enabling/disabling Administrator Privileges, Login as Test_User1 and check if the links are visible/not-visible. This is not checked.
  • Added steps to enable/disable all Administrator Privileges and check if the corresponding links are visible/invisible
  • After disabling ‘Modify system configuration pages’ settings, the link ‘General Configuration’ is still visible but the ‘Save Changes’ button in it is invisible.
  • Similarly, for External Modules
  • Checking for upgrade previleges are not easy as the upgrade messages are different . Image Image
  1. A.2.3.400 - Assign Administrators and Account Managers
  • After enabling/disabling ‘Access to all projects and data with maximum user privileges, Login as Test_User1 and check if the link ‘Edit a Project’s Settings’ is visible/not-visible.
  • when ‘Access to all projects and data with maximum user privileges’ is disabled, the link ‘Browse Projects’ is still visible but the link ‘Edit a Project’s Settings’ is not visible.

Updated all three scripts and pushed to MX_v13.1.37

Created: 7/24/2024 12:24:00 PM Edited on: 7/24/2024 12:24:00 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed ATS and RSVC regarding the below scripts: 1. A.2.3.200 - Add Remove Admins - After enabling/disabling ‘Set administrator privileges’, Login as Test_User1 and check if the link ‘Administrator Privileges’ is visible/not-visible.

  1. A.2.3.300 - Super Users and Account Managers
  • After enabling/disabling Administrator Privileges, Login as Test_User1 and check if the links are visible/not-visible. This is not checked.
  • Added steps to enable/disable all Administrator Privileges and check if the corresponding links are visible/invisible o After disabling ‘Modify system configuration pages’ settings, the link ‘General Configuration’ is still visible but the ‘Save Changes’ button in it is invisible. o Similarly, for External Modules
  1. A.2.3.400 - Assign Administrators and Account Managers
  • After enabling/disabling ‘Access to all projects and data with maximum user privileges, Login as Test_User1 and check if the link ‘Edit a Project’s Settings’ is visible/not-visible.
  • when ‘Access to all projects and data with maximum user privileges’ is disabled, the link ‘Browse Projects’ is still visible but the link ‘Edit a Project’s Settings’ is not visible.

Updated all three scripts and pushed to MX_v13.1.37

Created: 7/5/2024 10:23:13 AM Edited on: 7/5/2024 10:23:13 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed ATS and RSVC regarding the below scripts: 1. A.2.3.200 - Add Remove Admins - After enabling/disabling ‘Set administrator privileges’, Login as Test_User1 and check if the link ‘Administrator Privileges’ is visible/not-visible.

  1. A.2.3.300 - Super Users and Account Managers
  • After enabling/disabling Administrator Privileges, Login as Test_User1 and check if the links are visible/not-visible. This is not checked. Added in branch MX_v13.1.37
  • Added steps to enable/disable all Administrator Privileges and check if the corresponding links are visible/invisible o After disabling ‘Modify system configuration pages’ settings, the link ‘General Configuration’ is still visible but the ‘Save Changes’ button in it is invisible. o Similarly, for External Modules
  1. A.2.3.400 - Assign Administrators and Account Managers
  • After enabling/disabling ‘Access to all projects and data with maximum user privileges, Login as Test_User1 and check if the link ‘Edit a Project’s Settings’ is visible/not-visible.
  • when ‘Access to all projects and data with maximum user privileges’ is disabled, the link ‘Browse Projects’ is still visible but the link ‘Edit a Project’s Settings’ is not visible.

Updated all three scripts and pushed to MX_v13.1.37

Created: 7/5/2024 10:22:42 AM Edited on: 7/5/2024 10:22:42 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed ATS and RSVC regarding the below scripts: 2. A.2.3.200 - Add Remove Admins - After enabling/disabling ‘Set administrator privileges’, Login as Test_User1 and check if the link ‘Administrator Privileges’ is visible/not-visible.

  1. A.2.3.300 - Super Users and Account Managers
  • After enabling/disabling Administrator Privileges, Login as Test_User1 and check if the links are visible/not-visible. This is not checked. Added in branch MX_v13.1.37
  • Added steps to enable/disable all Administrator Privileges and check if the corresponding links are visible/invisible o After disabling ‘Modify system configuration pages’ settings, the link ‘General Configuration’ is still visible but the ‘Save Changes’ button in it is invisible. o Similarly, for External Modules
  1. A.2.3.400 - Assign Administrators and Account Managers
  • After enabling/disabling ‘Access to all projects and data with maximum user privileges, Login as Test_User1 and check if the link ‘Edit a Project’s Settings’ is visible/not-visible.
  • when ‘Access to all projects and data with maximum user privileges’ is disabled, the link ‘Browse Projects’ is still visible but the link ‘Edit a Project’s Settings’ is not visible.

Updated all three scripts and pushed to MX_v13.1.37

Created: 6/26/2024 12:16:39 PM Edited on: 6/26/2024 12:16:39 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. A.2.3.200 - Add Remove Admins
  • After enabling/disabling ‘Set administrator privileges’, Login as Test_User1 and check if the link ‘Administrator Privileges’ is visible/not-visible.
  1. A.2.3.300 - Super Users and Account Managers
  • After enabling/disabling Administrator Privileges, Login as Test_User1 and check if the links are visible/not-visible. This is not checked. Added in branch MX_v13.1.37
  • Added steps to enable/disable all Administrator Privileges and check if the corresponding links are visible/invisible o After disabling ‘Modify system configuration pages’ settings, the link ‘General Configuration’ is still visible but the ‘Save Changes’ button in it is invisible. o Similarly, for External Modules
  1. A.2.3.400 - Assign Administrators and Account Managers
  • After enabling/disabling ‘Access to all projects and data with maximum user privileges, Login as Test_User1 and check if the link ‘Edit a Project’s Settings’ is visible/not-visible.
  • when ‘Access to all projects and data with maximum user privileges’ is disabled, the link ‘Browse Projects’ is still visible but the link ‘Edit a Project’s Settings’ is not visible.

Updated all three scripts and pushed to MX_v13.1.37

Created: 6/26/2024 12:14:38 PM Edited on: 6/26/2024 12:14:38 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. A.2.3.200 - Add Remove Admins
  • After enabling/disabling ‘Set administrator privileges’, Login as Test_User1 and check if the link ‘Administrator Privileges’ is visible/not-visible.
  1. A.2.3.300 - Super Users and Account Managers
  • After enabling/disabling Administrator Privileges, Login as Test_User1 and check if the links are visible/not-visible. This is not checked. Added in branch MX_v13.1.37
  • Added steps to enable/disable all Administrator Privileges and check if the corresponding links are visible/invisible o After disabling ‘Modify system configuration pages’ settings, the link ‘General Configuration’ is still visible but the ‘Save Changes’ button in it is invisible. o Similarly, for External Modules
  1. A.2.3.400 - Assign Administrators and Account Managers
  • After enabling/disabling ‘Access to all projects and data with maximum user privileges, Login as Test_User1 and check if the link ‘Edit a Project’s Settings’ is visible/not-visible.
  • when ‘Access to all projects and data with maximum user privileges’ is disabled, the link ‘Browse Projects’ is still visible but the link ‘Edit a Project’s Settings’ is not visible.

Created: 6/26/2024 12:14:38 PM Edited on: 6/25/2024 1:59:40 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

A.2.3.300 - Super Users and Account Managers - After disabling Administrator Privileges, we must check if the links are not visible. This is not checked. Added in branch MX_v13.1.37 - Add step to enable ‘Set administrator privileges’ and check if the link ‘Administrator Privileges’ is visible.

Comment:

Author: MintooXavier Updated on: 7/4/2024 1:57:48 PM

Comment body:

All tests pass

Comment edits:

Created: 7/4/2024 1:57:48 PM Edited on: 7/4/2024 1:57:48 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

All tests pass

Created: 7/4/2024 1:57:48 PM Edited on: 7/4/2024 1:56:37 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

All test pass

Comment:

Author: MintooXavier Updated on: 7/29/2024 1:45:16 PM

Comment body:

ATS team accepted the changes

Comment:

Author: MintooXavier Updated on: 10/18/2024 8:39:30 AM

Comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


Timeline events:

LABELLED | User: MintooXavier Created on: 6/5/2024 11:06:35 AM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 6/5/2024 11:06:35 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 6/5/2024 11:06:35 AM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 6/25/2024 1:22:40 PM Issue comment body:

Scripts pre-reviewed:

  1. A.2.3.100 - Administrators Table
  2. A.2.3.200 - Add Remove Admins
  3. A.2.3.300 - Super Users and Account Managers
  4. A.2.3.400 - Assign Administrators and Account Managers
ISSUE COMMENT | User: MintooXavier Created on: 6/25/2024 1:59:40 PM Issue comment body:

Emailed ATS and RSVC regarding the below scripts:

  1. A.2.3.200 - Add Remove Admins
  1. A.2.3.300 - Super Users and Account Managers
  1. A.2.3.400 - Assign Administrators and Account Managers

Updated all three scripts and pushed to MX_v13.1.37

LABELLED | User: MintooXavier Created on: 6/26/2024 12:15:06 PM Label name: Question Label description: Further information is requested

ASSIGNED | User: MintooXavier Created on: 6/27/2024 2:59:17 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/4/2024 1:56:37 PM Issue comment body:

All tests pass

ISSUE COMMENT | User: MintooXavier Created on: 7/29/2024 1:45:16 PM Issue comment body:

ATS team accepted the changes

UNLABELLED | User: MintooXavier Created on: 7/29/2024 1:45:40 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 10/18/2024 8:39:30 AM Issue comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


————— feature ends —————



Feature: 11. Project Status

Id: I_kwDOIaOBn86OlWm4 Uid: redcap_cypress-67
Author: MintooXavier Created: 7/5/2024 8:49:04 AM
Assignees: MintooXavier || phillidgithub Resource path: /CCTC-team/redcap_cypress/issues/67
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:50:32 PM
Locked: false Participants: MintooXavier || phillidgithub

Project item body:

Brief description:
This feature is used to check the project status, i.e. if the project is in development, production, completed, archived etc.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/11_project_status.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Status_11/A.6.11.100%20-%20Administrative%20Controls%20in%20Control%20Center.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Status_11/B.6.11.200%20-%20Move%20project%20status.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Status_11/B.6.11.300%20-%20Data%20management%20during%20project%20status%20change.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/11_project_status.spec

A.6.11.100 - Control Center: The system shall support limiting the ability to move projects to production to administrators.
B.6.11.200 - User Interface: The system shall support the ability for a user to change between following project statuses bidirectionally: Development, Production, Analysis/Cleanup, Mark as Complete.
B.6.11.300 - User Interface: The system shall support the ability for a user to keep or remove all record data during project status change from Development to Production.
D.6.11.400 - User Interface: While using the randomization module, the system shall block the ability for a project Production to Development.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Project%20Status_11/A.6.11.100%20-%20Administrative%20Controls%20in%20Control%20Center.feature

Feature: Control Center: The system shall support limiting the ability to move projects to production to administrators.

As a REDCap end user I want to see that My Project is functioning as expected

Scenario: A.6.11.100.100 Production status setting in control center ##SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “A.6.11.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

###USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

##FUNCTIONAL REQUIREMENT
###ACTION: Setup in control center - admin only
When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"

When I select "No, only Administrators can move projects to production" on the dropdown field labeled "Allow normal users to move projects to production?"
And I click on the button labeled "Save Changes"
##VERIFY
Then I should see "Your system configuration values have now been changed!"
And I logout
#SETUP
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.11.100.100"
##ACTION: Test user requests move to production
And I click on the link labeled "Project Setup"

And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "Yes, Request Admin to Move to Production Status" in the dialog box

##VERIFY
Then I should see "Success! Your request to move the project to production status has been sent to a REDCap administrator."

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported           |
  | test_user1 | Manage/Design | Send request to move project to production status |

##ACTION: cancel request
When I click on the link labeled "Project Setup"
And I click on the button labeled "Cancel request"
And I click on the button labeled "Submit" in the dialog box
Then I should see Project status: "Development"
And I logout

#SETUP
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "Yes, normal users can move projects to production" on the dropdown field labeled "Allow normal users to move projects to production?"
And I click on the button labeled "Save Changes"
##VERIFY
Then I should see "Your system configuration values have now been changed!"
And I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "A.6.11.100.100"

##ACTION: Test user move to production
And I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status

##VERIFY
Then I should see Project status: "Production"

##VERIFY_LOG
When I click on the link labeled "Logging"
And I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Move project to Production status       |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Status_11/B.6.11.200%20-%20Move%20project%20status.feature

Feature: User Interface: The system shall support the ability for a user to change between following project statuses bidirectionally: Development, Production, Analysis/Cleanup, Mark as Complete.

As a REDCap end user I want to see that My Project is functioning as expected

Scenario: B.6.11.200.100 Move project from development to production to analysis/cleanup to complete to analysis/cleanup to production to development #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.6.11.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#FUNCTIONAL REQUIREMENT
##ACTION: move to production
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
##VERIFY
Then I should see Project status: "Production"

##ACTION: move to analysis/cleanup
When I click on the link labeled "Other Functionality"
And I click on the button labeled "Move to Analysis/Cleanup status"
And I click on the button labeled "YES, Move to Analysis/Cleanup" in the dialog box
##VERIFY
Then I should see Project status: "Analysis/Cleanup"

##ACTION: move to Completed
When I click on the button labeled "Mark project as Completed"
And I click on the button labeled "Mark project as Completed" in the dialog box
And I click on the link labeled "Show Completed Projects"
Then I should see a link labeled "B.6.11.200.100"
##VERIFY
When I click on the link labeled "B.6.11.200.100"
Then I should see "NOTICE: Project was marked as Completed"

#FUNCTIONAL REQUIREMENT
##ACTION: move to analysis/cleanup
When I click on the button labeled "Restore Project" in the dialog box
Then I should see a dialog containing the following text: "PROJECT RESTORED"
And I click on the button labeled "Close" in the dialog box
##VERIFY
Then I should see Project status: "Analysis/Cleanup"

##ACTION: move to production
When I click on the link labeled "Other Functionality"
And I click on the button labeled "Move back to Production status"
And I click on the button labeled "YES, Move to Production Status" in the dialog box
##VERIFY
Then I should see Project status: "Production"

##ACTION: move to development
When I click on the button labeled "Move back to Development status"
##VERIFY
Then I should see Project status: "Development"

##VERIFY_LOG
When I click on the link labeled "Logging"
And I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported                             |
  | test_admin | Manage/Design | Move project back to Development status                             |
  | test_admin | Manage/Design | Return project to Production from Analysis/Cleanup status           |
  | test_admin | Manage/Design | Project moved from Completed status back to Analysis/Cleanup status |
  | test_admin | Manage/Design | Project marked as Completed                                         |
  | test_admin | Manage/Design | Move project to Analysis/Cleanup status                             |
  | test_admin | Manage/Design | Move project to Production status                                   |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Project%20Status_11/B.6.11.300%20-%20Data%20management%20during%20project%20status%20change.feature

Feature: User Interface: The system shall support the ability for a user to keep or remove all record data during project status change from Development to Production.

As a REDCap end user I want to see that My Project is functioning as expected

Scenario: B.6.11.300.100 Move project from development to production while keeping data #SETUP - Important: the manual test had this user listed as ‘Test_User1’ which is not correct. # Needs to be Test_Admin to guarantee we can move to production immediately … Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.6.11.300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#FUNCTIONAL REQUIREMENT
##ACTION: move to production
When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.11.300.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
##VERIFY
Then I should see Project status: "Production"

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1         |
  | 2         |
  | 3         |
  | 4         |

Scenario: B.6.11.300.200 Move project from development to production while deleting data #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.6.11.300.200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#FUNCTIONAL REQUIREMENT
##ACTION: move to production
When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.11.300.200"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Delete ALL data in the project" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
##VERIFY
Then I should see Project status: "Production"

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

Comments:

Comment:

Author: MintooXavier Updated on: 7/5/2024 10:19:42 AM

Comment body:

Scripts Pre-reviewed:
A.6.11.100 - Administrative Controls in Control Center
B.6.11.200 - Move project status
B.6.11.300 - Data management during project status change

Comment edits:

Created: 7/5/2024 10:19:42 AM Edited on: 7/5/2024 10:19:42 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed: A.6.11.100 - Administrative Controls in Control Center B.6.11.200 - Move project status B.6.11.300 - Data management during project status change

Created: 7/5/2024 10:07:34 AM Edited on: 7/5/2024 10:07:34 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed: A.6.11.100 - Administrative Controls in Control Center B.6.11.200 - Move project status

Created: 7/5/2024 10:07:34 AM Edited on: 7/5/2024 9:13:12 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed: A.6.11.100 - Administrative Controls in Control Center

Comment:

Author: MintooXavier Updated on: 7/5/2024 10:11:08 AM

Comment body:

B.6.11.200 - Move project status

Comment:

Author: MintooXavier Updated on: 7/5/2024 12:17:17 PM

Comment body:

Tests pass

Comment:

Author: phillidgithub Updated on: 7/15/2024 9:04:45 AM

Comment body:

Scripts Post-reviewed:
B.6.11.200 - Move project status
Test passes

Comment edits:

Created: 7/15/2024 9:04:44 AM Edited on: 7/15/2024 9:04:44 AM Edited by: phillidgithub Deleted on: |none| Deleted by: |none|

Diff:

Scripts Post-reviewed: B.6.11.200 - Move project status Test passes

Created: 7/15/2024 9:04:44 AM Edited on: 7/12/2024 6:44:12 PM Edited by: phillidgithub Deleted on: |none| Deleted by: |none|

Diff:

Scripts Post-reviewed: B.6.11.200 - Move project status

Comment:

Author: MintooXavier Updated on: 10/18/2024 8:39:14 AM

Comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


Timeline events:

LABELLED | User: MintooXavier Created on: 7/5/2024 8:49:04 AM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/5/2024 8:49:04 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/5/2024 8:49:04 AM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/5/2024 8:49:04 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/5/2024 9:13:12 AM Issue comment body:

Scripts Pre-reviewed:
A.6.11.100 - Administrative Controls in Control Center
B.6.11.200 - Move project status
B.6.11.300 - Data management during project status change

ISSUE COMMENT | User: MintooXavier Created on: 7/5/2024 10:11:08 AM Issue comment body:

B.6.11.200 - Move project status

LABELLED | User: MintooXavier Created on: 7/5/2024 10:19:34 AM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 7/5/2024 12:17:17 PM Issue comment body:

Tests pass

ASSIGNED | User: phillidgithub Created on: 7/10/2024 12:59:55 PM Assignee: phillidgithub

ISSUE COMMENT | User: phillidgithub Created on: 7/12/2024 6:44:12 PM Issue comment body:

Scripts Post-reviewed:
B.6.11.200 - Move project status
Test passes

UNLABELLED | User: MintooXavier Created on: 7/29/2024 1:22:22 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 10/18/2024 8:39:14 AM Issue comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


————— feature ends —————



Feature: 123. Embellish Fields

Id: I_kwDOIaOBn86ojWz3 Uid: redcap_cypress-84
Author: MintooXavier Created: 2/3/2025 3:29:30 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/84
Milestone: |none| Labels: Gherkin || Automated || External Module

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: rmh54 Updated on: 4/1/2025 6:59:36 AM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
The Embellish fields module is a simple module that can provide extra information to users about the fields in a data
entry form. The extra information is provided underneath the field label as a pipe-separated list

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/123_embellish_fields.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.100%20-%20Embellish%20Fields%20Configurations.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.600%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.700%20-%20Embellish%20Fields%20in%20projects.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.800%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.900%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.1000%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/123_embellish_fields.spec

E.123.100 - The system shall support the ability to enable/disable Embellish Fields external module.
E.123.200 - The system shall support the ability to enable Embellish Fields external module on all projects by default.
E.123.300 - The system shall support the ability to make Embellish Fields external module discoverable by users.
E.123.400 - The system shall support the ability to allow non-admins to enable Embellish Fields external module on projects.
E.123.500 - The system shall support the ability to hide Embellish Fields external module from non-admins in the list of enabled modules on each project.
E.123.600 - The system shall support the ability to view the usage of Embellish Fields external module.
E.123.700 - The system shall support the ability to view field variable name, element type, validation type and action tags in instruments when the corresponding options are enabled in Embellish Fields external module.
E.123.800 - The system shall allow only super-admins to configure the Embellish Fields external module.
E.123.900 - The system shall support the ability to use Embellish Fields external module for different Arms.
E.123.1000 - The system shall support the ability to use Embellish Fields external module for Repeating Events/Instruments.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.100%20-%20Embellish%20Fields%20Configurations.feature

Feature: E.123.100 - The system shall support the ability to enable/disable Embellish fields external module.

As a REDCap end user I want to see that Embellish fields is functioning as expected

Scenario: E.123.100 - Enable external Module - Default settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Embellish fields - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Embellish fields"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Embellish fields - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.123.100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I should NOT see a link labeled exactly "Manage"
And I logout

Scenario: E.123.200 - Enable module on all projects by default Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Embellish fields - v0.0.0” And I should NOT see “Enabled for All Projects” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Enable module on all projects by default” And I click on the button labeled “Save” Then I should see “Embellish fields - v0.0.0” And I should see “Enabled for All Projects” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.123.100.200" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Embellish fields - v0.0.0"
And I should see "Enabled for All Projects"
And I logout

Scenario: E.123.300 - Make module discoverable by users Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Embellish fields - v0.0.0” And I should see “Enabled for All Projects” And I should NOT see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Enable module on all projects by default” And I check the checkbox labeled “Make module discoverable by users” And I click on the button labeled “Save” Then I should see “Embellish fields - v0.0.0” And I should NOT see “Enabled for All Projects” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.123.100.300" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Embellish fields - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Embellish fields - v0.0.0"
And I should see "Discoverable"
And I should NOT see "Activation request is pending"
When I click on the button labeled Request Activation for the external module named "Embellish fields"
Then I should see "SUCCESS! Your external module activation request has been sent to a REDCap administrator for review." in the dialog box
And I click on the button labeled "Close" in the dialog box
And I should NOT see "Embellish fields - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Embellish fields - v0.0.0"
And I should see "Discoverable"
And I should see "Activation request is pending"
And I logout

## Commenting this as HTML is not loading into iframe
## Hence this is done manually
# Given I login to REDCap with the user "Test_Admin"
# When I click on the link labeled "Control Center"
# Then I should see a link labeled "To-Do List"

# Given I click on the link labeled "To-Do List"
# Then I should see "Pending Requests"
# And I should see the "Activate external module" request created for the project named "E.123.100.300" within the Pending Requests table
# When I click on the process request icon for the "Activate external module" request created for the project named "E.123.100.300" within the Pending Requests table
# # HTML is not loading into iFrame
# Then I should see "Enable module 'Embellish fields - '?" in the dialog box in the iframe
# And I click on the button labeled "Enable" in the dialog box in the iframe
# And I close the iframe window
# Then I should see the "Activate external module" request created for the project named "E.123.100.300" within the Completed & Archived Requests table
# And I logout

# Given I login to REDCap with the user "Test_User1"
# When I click on the link labeled "My Projects"
# And I click on the link labeled "E.123.100.300"
# And I click on the link labeled exactly "Manage"
# Then I should see "External Modules - Project Module Manager"
# And I should see "Embellish fields - v0.0.0"
# And I should see "Discoverable"
# And I logout

Scenario: E.123.400 - Allow non-admins to enable this module on projects Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center”
And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Embellish fields - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Allow non-admins to enable this module on projects” And I click on the button labeled “Save” Then I should see “Embellish fields - v0.0.0” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.123.100.400" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Embellish fields - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Embellish fields - v0.0.0"
And I should see "Discoverable"
And I click on the button labeled Enable for the external module named "Embellish fields - v0.0.0"
Then I should see "Embellish fields - v0.0.0"
And I logout

Scenario: E.123.500 - Hide this module from non-admins in the list of enabled modules on each project # Enable ‘Hide this module from non-admins in the list of enabled modules on each project’ Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Embellish fields - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Make module discoverable by users” And I uncheck the checkbox labeled “Allow non-admins to enable this module on projects” And I check the checkbox labeled “Hide this module from non-admins in the list of enabled modules on each project” And I click on the button labeled “Save” Then I should see “Embellish fields - v0.0.0” And I should NOT see “Discoverable”

When I create a new project named "E.123.100.500" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Embellish fields - v0.0.0"
Then I should see "Embellish fields - v0.0.0"

# Add User Test_User1 with Project Setup & Design User Rights
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I check the User Right named "Project Setup & Design"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.123.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Embellish fields - v0.0.0"
And I logout

# Disable 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "Embellish fields - v0.0.0"
When I click on the button labeled exactly "Configure"
And I uncheck the checkbox labeled "Hide this module from non-admins in the list of enabled modules on each project"
And I click on the button labeled "Save"
Then I should see "Embellish fields - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.123.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Embellish fields - v0.0.0"
And I logout

# Enable from project - 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.123.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
Then I should see "Embellish fields - v0.0.0"
When I click on the button labeled exactly "Configure"
And I check the checkbox labeled "Hide this module from non-admins in the list of enabled modules on this project"
And I click on the button labeled "Save"
Then I should see "Embellish fields - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.123.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Embellish fields - v0.0.0"
And I logout

Scenario: Module configuration permissions in projects # Enable - Require Project Setup/Design privilege Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Embellish fields - v0.0.0” When I click on the button labeled exactly “Configure” Then I should see the dropdown field labeled “Module configuration permissions in projects” with the option “Require Project Setup/Design privilege” selected And I click on the button labeled “Save” Then I should see “Embellish fields - v0.0.0”

When I create a new project named "E.123.100.600" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Embellish fields - v0.0.0"
Then I should see "Embellish fields - v0.0.0"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Embellish fields" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Enable - Require module-specific user privilege
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should see "Embellish fields - v0.0.0"
When I click on the button labeled exactly "Configure"
And I select "Require module-specific user privilege" on the dropdown field labeled "Module configuration permissions in projects"
And I click on the button labeled "Save"
Then I should see "Embellish fields - v0.0.0"

When I click on the link labeled "My Projects"
And I click on the link labeled "E.123.100.600"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Embellish fields" that is unchecked
And I check the checkbox labeled "Embellish fields"
And I click on the button labeled "Add user"
Then I should see "successfully added"

Scenario: E.123.600 - View Usage of the external module When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Embellish fields - v0.0.0” When I click on the button labeled “View Usage” Then I should see a link labeled “E.123.100.400” in the dialog box And I should see a link labeled “E.123.100.500” in the dialog box And I should see a link labeled “E.123.100.600” in the dialog box When I click on the link labeled “E.123.100.400” in the dialog box # # For Request Activation of project E.123.100.300 which doesn’t work in ATS. # # Can be checked manually # And I should see a link labeled “E.123.100.300” in the dialog box Then I should see “Project Home” And I should see “E.123.100.400” And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - embellish_fields"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.200%20-%20REDUNDANT.feature

Feature: E.123.200 - The system shall support the ability to enable Embellish Fields external module on all projects by default.

This feature test is REDUNDANT and can be viewed in E.123.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.300%20-%20REDUNDANT.feature

Feature: E.123.300 - The system shall support the ability to make Embellish Fields external module discoverable by users.

This feature test is REDUNDANT and can be viewed in E.123.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.400%20-%20REDUNDANT.feature

Feature: E.123.400 - The system shall support the ability to allow non-admins to enable Embellish Fields external module on projects.

This feature test is REDUNDANT and can be viewed in E.123.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.500%20-%20REDUNDANT.feature

Feature: E.123.500 - The system shall support the ability to hide Embellish Fields external module from non-admins in the list of enabled modules on each project.

This feature test is REDUNDANT and can be viewed in E.123.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.600%20-%20REDUNDANT.feature

Feature: E.123.600 - The system shall support the ability to view the usage of Embellish Fields external module.

This feature test is REDUNDANT and can be viewed in E.123.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.700%20-%20Embellish%20Fields%20in%20projects.feature

Feature: E.123.700 - The system shall support the ability to view field variable name, element type, validation type and action tags in instruments when the corresponding options are enabled in Embellish Fields external module.

As a REDCap end user I want to see that Embellish Fields is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Embellish fields - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Embellish fields"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Embellish fields - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.123.700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val_nodata.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Embellish fields - v0.0.0” Then I should see “Embellish fields - v0.0.0”

#VERIFY - E.123.700
And I click on the button labeled "Configure"
When I check the checkbox labeled "When checked, the field variable name will be shown"
And I check the checkbox labeled "When checked, the field element type will be shown"
And I check the checkbox labeled "When checked, the field validation type will be shown"
And I check the checkbox labeled "When checked, using action tags on questions that match the regular expression"
And I enter "@\b[A-Z]+(?:_[A-Z]+)*\b" into the textarea field labeled "A regular expression"
Then I click on the button labeled "Save" in the dialog box
And I should see "Embellish fields - v0.0.0"

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Embellish fields" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.123.700"

#VERIFY - E.123.800 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Embellish fields - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "When checked, the field variable name will be shown" in the dialog box
And I should NOT see "When checked, the field element type will be shown" in the dialog box
And I should NOT see "When checked, the field validation type will be shown" in the dialog box
And I should NOT see "When checked, using action tags on questions that match the regular expression" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box
And I should see "Embellish fields - v0.0.0"

Scenario: E.123.900, E.123.1000 - Embellish Fields for Repeating Instruments in Arm 1 # Repeating Instruments - Instance 1 Given I click on the link labeled “Add / Edit Records” When I click on the button labeled “Add new record for the arm selected above” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “data_types_crfver | text | int | @SETVALUE” within the data entry field labeled “CRF Versioning” And I should see “ptname | text | @DEFAULT” within the data entry field labeled “Name” And I should see “multiple_dropdown_auto | select” within the data entry field labeled “Multiple Choice Dropdown Auto” And I should see “checkbox | checkbox” within the data entry field labeled “Checkbox” When I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Repeating Instruments - Instance 2
Given I click on the button labeled "Add new"
Then I should see "Data Types"
And I should see "(Instance #2)"
Then I should see "data_types_crfver | text | int | @SETVALUE" within the data entry field labeled "CRF Versioning"
And I should see "ptname | text | @DEFAULT" within the data entry field labeled "Name"
And I should see "multiple_dropdown_auto | select" within the data entry field labeled "Multiple Choice Dropdown Auto"
And I should see "checkbox | checkbox" within the data entry field labeled "Checkbox"
When I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

Scenario: E.123.900, E.123.1000 - Embellish Fields for Repeating Events in Arm 2 # Repeating Events - Instance 1 Given I click on the link labeled “Record Status Dashboard” And I click on the tab labeled “Arm 2” And I click on the button labeled “Add new record for this arm” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 2” And I should see “Data Types” Then I should see “data_types_crfver | text | int | @SETVALUE” within the data entry field labeled “CRF Versioning” And I should see “ptname | text | @DEFAULT” within the data entry field labeled “Name” And I should see “multiple_dropdown_auto | select” within the data entry field labeled “Multiple Choice Dropdown Auto” And I should see “checkbox | checkbox” within the data entry field labeled “Checkbox” When I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Repeating Events - Instance 2
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "Data Types"
And I should see "(Instance #2)"
Then I should see "data_types_crfver | text | int | @SETVALUE" within the data entry field labeled "CRF Versioning"
And I should see "ptname | text | @DEFAULT" within the data entry field labeled "Name"
And I should see "multiple_dropdown_auto | select" within the data entry field labeled "Multiple Choice Dropdown Auto"
And I should see "checkbox | checkbox" within the data entry field labeled "Checkbox"
When I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"
And I logout

Scenario: Verify different configuration settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.123.700” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Embellish fields - v0.0.0” When I click on the button labeled “Configure” Then I uncheck the checkbox labeled “When checked, the field validation type will be shown” And I uncheck the checkbox labeled “When checked, using action tags on questions that match the regular expression” Then I click on the button labeled “Save” in the dialog box And I should see “Embellish fields - v0.0.0”

#VERIFY
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 2"
And I click on the link labeled exactly "2"
When I click on the button labeled "Add new"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Data Types"
And I should see "(Instance #3)"
Then I should see "data_types_crfver | text" within the data entry field labeled "CRF Versioning"
And I should NOT see "int | @SETVALUE"
And I should see "ptname | text" within the data entry field labeled "Name"
And I should NOT see "@DEFAULT"
And I should see "multiple_dropdown_auto | select" within the data entry field labeled "Multiple Choice Dropdown Auto"
And I should see "checkbox | checkbox" within the data entry field labeled "Checkbox"
When I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Embellish fields - v0.0.0"
When I click on the button labeled "Configure"
Then I uncheck the checkbox labeled "When checked, the field variable name will be shown"
And I uncheck the checkbox labeled "When checked, the field element type will be shown"
Then I click on the button labeled "Save" in the dialog box
And I should see "Embellish fields - v0.0.0"

#VERIFY
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 2"
And I click on the link labeled exactly "2"
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Data Types"
And I should see "(Instance #3)"
Then I should NOT see "data_types_crfver | text"
And I should NOT see "ptname | text"
And I should NOT see "multiple_dropdown_auto | select"
And I should NOT see "checkbox | checkbox"
When I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

Scenario: E.123.100 - Disable external module # Disable external module in project Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Embellish fields - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Embellish fields - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                         | List of Data Changes OR Fields Exported                                                                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "embellish_fields_v0.0.0" for project                  |                                                                                                                                                                     |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "embellish_fields_v0.0.0" for project | show-field-variable-name, show-field-element-type                                                                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "embellish_fields_v0.0.0" for project | show-field-validation-type, include-action-tags                                                                                                                     |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "embellish_fields_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, show-field-variable-name, show-field-element-type, show-field-validation-type, include-action-tags, action-tag-regex |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "embellish_fields_v0.0.0" for project                   |                                                                                                                                                                     |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Embellish fields - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                          |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "embellish_fields_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "embellish_fields_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "embellish_fields_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "embellish_fields_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "embellish_fields_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - embellish_fields"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.800%20-%20REDUNDANT.feature

Feature: E.123.800 - The system shall allow only super-admins to configure the Embellish Fields external module.

This feature test is REDUNDANT and can be viewed in E.123.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.900%20-%20REDUNDANT.feature

Feature: E.123.900 - The system shall support the ability to use Embellish Fields external module for different Arms.

This feature test is REDUNDANT and can be viewed in E.123.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Embellish%20Fields_123/E.123.1000%20-%20REDUNDANT.feature

Feature: E.123.1000 - The system shall support the ability to use Embellish Fields external module for Repeating Events/Instruments.

This feature test is REDUNDANT and can be viewed in E.123.700


Comments:


Timeline events:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:29:30 PM Label name: Automated Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:29:30 PM Label name: External Module Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:29:30 PM Label name: Gherkin Label description: Uses a Gherkin syntax

ASSIGNED | User: MintooXavier Created on: 2/3/2025 3:29:30 PM Assignee: MintooXavier


————— feature ends —————



Feature: 122. Versioning

Id: I_kwDOIaOBn86ojUeq Uid: redcap_cypress-83
Author: MintooXavier Created: 2/3/2025 3:25:40 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/83
Milestone: |none| Labels: Gherkin || Automated || External Module

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: rmh54 Updated on: 4/1/2025 7:06:09 AM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
The Versioning module allows project designers to track and adapt form questions based on different project versions. As projects evolve with updates and amendments, validation rules and constraints may change (e.g., maximum values increasing from 20 in version 1 to 50 in version 2). This module enables the inclusion of a version field in forms, ensuring compatibility with evolving requirements and facilitating seamless validation adjustments.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/122_versioning.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.100%20-%20Versioning%20Configurations.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.600%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.700%20-%20CRF%20Versioning.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.800%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.900%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.1000%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.1100%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/122_versioning.spec

E.122.100 - The system shall support the ability to enable/disable Versioning external module.
E.122.200 - The system shall support the ability to enable Versioning external module on all projects by default.
E.122.300 - The system shall support the ability to make Versioning external module discoverable by users.
E.122.400 - The system shall support the ability to allow non-admins to enable Versioning external module on projects.
E.122.500 - The system shall support the ability to hide Versioning external module from non-admins in the list of enabled modules on each project.
E.122.600 - The system shall support the ability to view the usage of Versioning external module.
E.122.700 - The system shall support the ability to setup CRF versioning in projects through Data Entry Log external module.
E.122.800 - The system shall support the ability to make the version field as READONLY through Versioning external module.
E.122.900 - The system shall allow only super-admins to configure the Versioning external module.
E.122.1000 - The system shall support the ability to use Versioning external module for different Arms.
E.122.1100 - The system shall support the ability to use Versioning external module for Repeating Events/Instruments.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.100%20-%20Versioning%20Configurations.feature

Feature: E.122.100 - The system shall support the ability to enable/disable Versioning external module.

As a REDCap end user I want to see that Versioning External Module work as expected

Scenario: E.122.100 - Enable external Module - Default settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Versioning - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Versioning"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Versioning - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.122.100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I should NOT see a link labeled "Versioning"
And I should NOT see a link labeled exactly "Manage"
And I logout

Scenario: E.122.200 - Enable module on all projects by default Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Versioning - v0.0.0” And I should NOT see “Enabled for All Projects” When I click on the button labeled exactly “Configure” Then I should see “Configure Module” in the dialog box And I check the checkbox labeled “Enable module on all projects by default” And I click on the button labeled “Save” in the dialog box Then I should see “Versioning - v0.0.0” And I should see “Enabled for All Projects” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.122.100.200" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I should see a link labeled "Versioning"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Versioning - v0.0.0"
And I should see "Enabled for All Projects"
And I logout

Scenario: E.122.300 - Make module discoverable by users Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center”
And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Versioning - v0.0.0” And I should see “Enabled for All Projects” And I should NOT see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Enable module on all projects by default” And I check the checkbox labeled “Make module discoverable by users” And I click on the button labeled “Save” in the dialog box Then I should see “Versioning - v0.0.0” And I should NOT see “Enabled for All Projects” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.122.100.300" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I should NOT see a link labeled "Versioning"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Versioning - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Versioning - v0.0.0"
And I should see "Discoverable"
And I should NOT see "Activation request is pending"
When I click on the button labeled Request Activation for the external module named "Versioning"
Then I should see "SUCCESS! Your external module activation request has been sent to a REDCap administrator for review." in the dialog box
And I click on the button labeled "Close" in the dialog box
And I should NOT see "Versioning - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Versioning - v0.0.0"
And I should see "Discoverable"
And I should see "Activation request is pending"
And I logout

## Commenting this as HTML is not loading into iframe
## Hence this is done manually
# Given I login to REDCap with the user "Test_Admin"
# When I click on the link labeled "Control Center"
# Then I should see a link labeled "To-Do List"

# Given I click on the link labeled "To-Do List"
# Then I should see "Pending Requests"
# And I should see the "Activate external module" request created for the project named "E.122.100.300" within the Pending Requests table
# When I click on the process request icon for the "Activate external module" request created for the project named "E.122.100.300" within the Pending Requests table
# # HTML is not loading into iFrame
# Then I should see "Enable module 'Versioning - '?" in the dialog box in the iframe
# And I click on the button labeled "Enable" in the dialog box in the iframe
# And I close the iframe window
# Then I should see the "Activate external module" request created for the project named "E.122.100.300" within the Completed & Archived Requests table
# And I logout

# Given I login to REDCap with the user "Test_User1"
# When I click on the link labeled "My Projects"
# And I click on the link labeled "E.122.100.300"
# And I should see a link labeled "Versioning"
# And I click on the link labeled exactly "Manage"
# Then I should see "External Modules - Project Module Manager"
# And I should see "Versioning - v0.0.0"
# And I should see "Discoverable"
# And I logout

Scenario: E.122.400 - Allow non-admins to enable this module on projects Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center”
And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Versioning - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Allow non-admins to enable this module on projects” And I click on the button labeled “Save” in the dialog box Then I should see “Versioning - v0.0.0” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.122.100.400" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I should NOT see a link labeled "Versioning"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Versioning - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Versioning - v0.0.0"
And I should see "Discoverable"
And I click on the button labeled Enable for the external module named "Versioning - v0.0.0"
Then I should see "Versioning - v0.0.0"
And I logout

Scenario: E.122.500 - Hide this module from non-admins in the list of enabled modules on each project # Enable ‘Hide this module from non-admins in the list of enabled modules on each project’ Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Versioning - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Make module discoverable by users” And I uncheck the checkbox labeled “Allow non-admins to enable this module on projects” And I check the checkbox labeled “Hide this module from non-admins in the list of enabled modules on each project” And I click on the button labeled “Save” in the dialog box Then I should see “Versioning - v0.0.0” And I should NOT see “Discoverable”

When I create a new project named "E.122.100.500" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Versioning - v0.0.0"
Then I should see "Versioning - v0.0.0"

# Add User Test_User1 with Project Setup & Design User Rights
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I check the User Right named "Project Setup & Design"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.122.100.500"
And I should see a link labeled "Versioning"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Versioning - v0.0.0"
And I logout

# Disable 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "Versioning - v0.0.0"
When I click on the button labeled exactly "Configure"
And I uncheck the checkbox labeled "Hide this module from non-admins in the list of enabled modules on each project"
And I click on the button labeled "Save"
Then I should see "Versioning - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.122.100.500"
And I should see a link labeled "Versioning"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Versioning - v0.0.0"
And I logout

# Enable from project - 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.122.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
Then I should see "Versioning - v0.0.0"
When I click on the button labeled exactly "Configure"
And I check the checkbox labeled "Hide this module from non-admins in the list of enabled modules on this project"
And I enter "crfver" into the input field labeled "Provide the suffix"
And I enter "1" into the input field labeled "The current crf version"
And I click on the button labeled "Save"
Then I should see "Versioning - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.122.100.500"
And I should see a link labeled "Versioning"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Versioning - v0.0.0"
And I logout

Scenario: Module configuration permissions in projects # Enable - Require Project Setup/Design privilege Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Versioning - v0.0.0” When I click on the button labeled exactly “Configure” Then I should see the dropdown field labeled “Module configuration permissions in projects” with the option “Require Project Setup/Design privilege” selected And I click on the button labeled “Save” in the dialog box Then I should see “Versioning - v0.0.0”

When I create a new project named "E.122.100.600" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Versioning - v0.0.0"
Then I should see "Versioning - v0.0.0"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Versioning" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Enable - Require module-specific user privilege
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should see "Versioning - v0.0.0"
When I click on the button labeled exactly "Configure"
And I select "Require module-specific user privilege" on the dropdown field labeled "Module configuration permissions in projects"
And I click on the button labeled "Save" in the dialog box
Then I should see "Versioning - v0.0.0"

When I click on the link labeled "My Projects"
And I click on the link labeled "E.122.100.600"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Versioning" that is unchecked
And I check the checkbox labeled "Versioning"
And I click on the button labeled "Add user"
Then I should see "successfully added"

Scenario: E.122.600 - View Usage of the external module When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Versioning - v0.0.0” When I click on the button labeled “View Usage” Then I should see a link labeled “E.122.100.400” in the dialog box And I should see a link labeled “E.122.100.500” in the dialog box And I should see a link labeled “E.122.100.600” in the dialog box # # For Request Activation of project E.122.100.300 which doesn’t work in ATS. # # Can be checked manually # And I should see a link labeled “E.122.100.300” in the dialog box When I click on the link labeled “E.122.100.400” in the dialog box Then I should see “Project Home” And I should see “E.122.100.400”

Scenario: E.122.100 - Disable external module # Disable external module in project E.122.100.400 Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Versioning - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Versioning - v0.0.0”

# Disable external module in project E.122.100.500
Given I click on the link labeled "My Projects"
When I click on the link labeled "E.122.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Versioning - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Versioning - v0.0.0"

# Disable external module in project E.122.100.600
Given I click on the link labeled "My Projects"
When I click on the link labeled "E.122.100.600"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Versioning - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Versioning - v0.0.0"

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Versioning - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.122.100.400" in the dialog box
And I should NOT see "E.122.100.500" in the dialog box
And I should NOT see "E.122.100.600" in the dialog box
And I close the dialog box for the external module "Versioning"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Versioning - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - versioning"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.200%20-%20REDUNDANT.feature

Feature: E.122.200 - The system shall support the ability to enable Versioning external module on all projects by default

This feature test is REDUNDANT and can be viewed in E.122.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.300%20-%20REDUNDANT.feature

Feature: E.122.300 - The system shall support the ability to make Versioning external module discoverable by users

This feature test is REDUNDANT and can be viewed in E.122.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.400%20-%20REDUNDANT.feature

Feature: E.122.400 - The system shall support the ability to allow non-admins to enable Versioning external module on projects

This feature test is REDUNDANT and can be viewed in E.122.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.500%20-%20REDUNDANT.feature

Feature: E.122.500 - The system shall support the ability to hide Versioning external module from non-admins in the list of enabled modules on each project

This feature test is REDUNDANT and can be viewed in E.122.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.600%20-%20REDUNDANT.feature

Feature: E.122.600 - The system shall support the ability to view the usage of Versioning external module.

This feature test is REDUNDANT and can be viewed in E.122.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.700%20-%20CRF%20Versioning.feature

Feature: E.122.700 - The system shall support the ability to setup CRF versioning in projects through Versioning external module.

As a REDCap end user I want to see that Versioning External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Versioning - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Versioning"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Versioning - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.122.700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E122700.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Versioning - v0.0.0” Then I should see “Versioning - v0.0.0”

# E.122.700, E.122.900 - Only Super-admins can configure external Module
Given I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I enter "crfver" into the input field labeled "Provide the suffix"
And I enter "0" into the input field labeled "The current crf version"
Then I click on the button labeled "Save" in the dialog box
Then I should see "Versioning - v0.0.0"
When I click on the link labeled "Versioning"
Then I should see "The current version is 0"

# Super-Admins can down-version
Given I click on the link labeled exactly "Manage"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
# negative values can be entered
And I clear field and enter "-1" into the input field labeled "The current crf version"
Then I click on the button labeled "Save" in the dialog box
Then I should see "Versioning - v0.0.0"
When I click on the link labeled "Versioning"
Then I should see "The current version is -1"

# Upversion from configuration settings
Given I click on the link labeled exactly "Manage"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I clear field and enter "1" into the input field labeled "The current crf version"
Then I click on the button labeled "Save" in the dialog box
Then I should see "Versioning - v0.0.0"
When I click on the link labeled "Versioning"
Then I should see "The current version is 1"

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Versioning" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

#VERIFY - Only Super-users can configure the settings
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.122.700"
Then I should see "Project Home and Design"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
# E.122.900 - Only Super-admins can configure external Module
And I should NOT see the button labeled "Disable"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "Provide the suffix used to identify the version field on a form" in the dialog box
And I should NOT see "The current crf version" in the dialog box
And I should NOT see "If checked, any fields identified as versioning fields will be automatically set as readonly" in the dialog box
Then I click on the button labeled "Cancel" in the dialog box

#VERIFY - Versioning page
When I click on the link labeled "Versioning"
Then I should see "The current version is 1"
And I should NOT see "Update the version to"

Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "1" in the data entry form field "CRF Versioning"
# Testing versioning with branching logic
And I should see the field labeled "Email"
And I click on the button labeled "Save & Exit Form"

#VERIFY - Versioning field is editable
Given I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "1" in the data entry form field "CRF Versioning"
# Testing versioning with branching logic
And I should NOT see the field labeled "Text2"
When I clear field and enter "2" into the input field labeled "CRF Versioning"
Then I should NOT see the field labeled "Text2"
And I click on the button labeled "Save & Exit Form"
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.122.700"

#E.122.800 - Configure Versioning field as readonly
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
And I check the checkbox labeled "If checked, any fields identified as versioning fields will be automatically set as readonly"
And I click on the button labeled "Save" in the dialog box
Then I should see "Versioning - v0.0.0"

# Version number should be an integer
Given I click on the link labeled "Versioning"
When I enter "2.5" into the input field labeled "Update the version to"
And I click on the button labeled "Submit"
Then I should see "Expecting an integer between 2 and 999 but got -> 2.5"

# Updating the version from Versioning page
When I enter "3" into the input field labeled "Update the version to"
And I click on the button labeled "Submit"
Then I should see "Updated version number to 3"
And I should see "The current version is 3"

# Cannot downgrade version from Versioning page
When I enter "2" into the input field labeled "Update the version to"
And I click on the button labeled "Submit"
Then I should see "Expecting the new version [2] to be at least one greater than current version [3]"

#VERIFY - Versioning field is readonly
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "3" in the data entry form field "CRF Versioning"
#VERIFY E.122.800
And I should see the field labeled "CRF Versioning" disabled
# Testing versioning with branching logic
And I should see the field labeled "Text2"
Then I click on the button labeled "Save & Exit Form"

Given I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2" and click on the bubble
Then I should see "3" in the data entry form field "CRF Versioning"
# Testing versioning with branching logic
And I should NOT see the field labeled "Email"
And I click on the button labeled "Save & Exit Form"

# VERIFY - existing Versioning field is unchanged
Given I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "1" in the data entry form field "CRF Versioning"
And I click on the button labeled "Cancel"

Given I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "2" in the data entry form field "CRF Versioning"
And I click on the button labeled "Cancel"

# Updating the version number in the configuration settings
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "3"
When I clear field and enter "5" into the input field labeled "The current crf version"
And I click on the button labeled "Save" in the dialog box
Then I should see "Versioning - v0.0.0"

Scenario: E.122.1000, E.122.1100 - Versioning for Repeating Instruments in Arm 1 # Repeating Instruments - Instance 1 Given I click on the link labeled “Add / Edit Records” When I click on the button labeled “Add new record for the arm selected above” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 3” And I should see “Data Types” And I should see “(Instance #1)” Then I should see “5” in the data entry form field “CRF Versioning” And I should see the field labeled “CRF Versioning” disabled # Testing versioning with branching logic And I should see the field labeled “Text2” Then I click on the button labeled “Save & Exit Form”

# Repeating Instruments - Instance 2
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 3"
And I should see "Data Types"
And I should see "(Instance #2)"
Then I should see "5" in the data entry form field "CRF Versioning"
And I should see the field labeled "CRF Versioning" disabled
Then I click on the button labeled "Save & Exit Form"

Scenario: E.122.1000, E.122.1100 - Versioning for Repeating Events in Arm 2 # Repeating Events - Instance 1 Given I click on the link labeled “Record Status Dashboard” And I click on the tab labeled “Arm 2” And I click on the button labeled “Add new record for this arm” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 4” And I should see “Data Types” And I should see “5” in the data entry form field “CRF Versioning” And I should see the field labeled “CRF Versioning” disabled Then I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Repeating Events - Instance 2
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "Editing existing Record ID 4"
And I should see "Data Types"
And I should see "(Instance #2)"
Then I should see "5" in the data entry form field "CRF Versioning"
And I should see the field labeled "CRF Versioning" disabled
Then I click on the button labeled "Save & Exit Form"  

Scenario: E.122.100 - Disable external module # Disable external module in project Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Versioning - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Versioning - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                   | List of Data Changes OR Fields Exported                                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "versioning_v0.0.0" for project                  |                                                                                                                                     |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "versioning_v0.0.0" for project | version-field-auto-set-as-readonly                                                                                                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "versioning_v0.0.0" for project | current-project-version                                                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "versioning_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, versioning-field-suffix, current-project-version, version-field-auto-set-as-readonly |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "versioning_v0.0.0" for project                   |                                                                                                                                     |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Versioning - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "versioning_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "versioning_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "versioning_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "versioning_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "versioning_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - versioning"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.800%20-%20REDUNDANT.feature

Feature: E.122.800 - The system shall support the ability to make the version field as READONLY through Versioning external module

This feature test is REDUNDANT and can be viewed in E.122.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.900%20-%20REDUNDANT.feature

Feature: E.122.900 - The system shall allow only super-admins to configure the Versioning external module.

This feature test is REDUNDANT and can be viewed in E.122.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.1000%20-%20REDUNDANT.feature

Feature: E.122.1000 - The system shall support the ability to use Versioning external module for different Arms

This feature test is REDUNDANT and can be viewed in E.122.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Versioning_122/E.122.1100%20-%20REDUNDANT.feature

Feature: E.122.1100 - The system shall support the ability to use Versioning external module for Repeating Events/Instruments.

This feature test is REDUNDANT and can be viewed in E.122.700


Comments:

Comment:

Author: MintooXavier Updated on: 2/28/2025 10:23:58 AM

Comment body:

Add validations for branching logic

Comment:

Author: MintooXavier Updated on: 3/24/2025 11:25:23 AM

Comment body:

Bug fixed and added validation for branching logic


Timeline events:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:25:40 PM Label name: Automated Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:25:40 PM Label name: External Module Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:25:40 PM Label name: Gherkin Label description: Uses a Gherkin syntax

ASSIGNED | User: MintooXavier Created on: 2/3/2025 3:25:40 PM Assignee: MintooXavier

LABELLED | User: MintooXavier Created on: 2/28/2025 10:23:36 AM Label name: Bug Label description: Something isn’t working

ISSUE COMMENT | User: MintooXavier Created on: 2/28/2025 10:23:58 AM Issue comment body:

Add validations for branching logic

UNLABELLED | User: MintooXavier Created on: 3/24/2025 11:24:47 AM Label name: Bug Label description: Something isn’t working

ISSUE COMMENT | User: MintooXavier Created on: 3/24/2025 11:25:23 AM Issue comment body:

Bug fixed and added validation for branching logic


————— feature ends —————



Feature: 128. Monitoring QR module

Id: I_kwDOIaOBn86ojce5 Uid: redcap_cypress-89
Author: MintooXavier Created: 2/3/2025 3:38:40 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/89
Milestone: |none| Labels: Gherkin || Automated || External Module

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 7/10/2025 2:31:34 PM
Locked: false Participants: MintooXavier || rmh54

Project item body:

Brief description:
The Monitoring QR module leverages the Query Resolution Workflow to support a monitoring workflow that can be kept
independent of the main querying workflow.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/128_monitoring_qr.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.100%20-%20Monitoring%20QR%20Configurations.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.600%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.700%20-%20Monitoring%20QR%20in%20Projects.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.800%20-%20Exclude%20Fields%20from%20Monitoring.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.900%20-%20Monitoring%20Query%20Inline.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1000%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1100%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1510%20-%20Monitoring%20Status%20Updated%20-%20Always.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1520%20-%20Monitoring%20Status%20Updated%20-%20Never.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1530%20-%20Monitoring%20Status%20Updated%20-%20Flagged.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1540%20-%20Monitoring%20Status%20Updated%20-%20Previously%20Queried.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1550%20-%20Monitoring%20Status%20Updated%20-%20Previously%20Queried%20or%20Flagged.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1600%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1700%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1800%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1900%20-%20RepeatingEvents_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2000%20-%20RepeatingEvents_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2100%20-%20RepeatingEvents_SingleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2200%20-%20RepeatingEvents_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2300%20-%20NonRepeating_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2400%20-%20NonRepeating_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2500%20-%20NonRepeating_SingleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2600%20-%20NonRepeating_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2700%20-%20RepeatingInstruments_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2800%20-%20RepeatingInstruments_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2900%20-%20RepeatingInstruments_SingleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.3000%20-%20RepeatingInstruments_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.3100%20-%20NonLongitudinal_RepeatingInstruments_withDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.3200%20-%20NonLongitudinal_RepeatingInstruments_noDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.3300%20-%20NonLongitudinal_NonRepeatingInstruments_withDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.3400%20-%20NonLongitudinal_NonRepeatingInstruments_noDAGS.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/128_monitoring_qr.spec

E.128.100 - The system shall support the ability to enable/disable Monitoring QR external module.
E.128.200 - The system shall support the ability to enable Monitoring QR external module on all projects by default.
E.128.300 - The system shall support the ability to make Monitoring QR external module discoverable by users.
E.128.400 - The system shall support the ability to allow non-admins to enable Monitoring QR external module on projects.
E.128.500 - The system shall support the ability to hide Monitoring QR external module from non-admins in the list of enabled modules on each project.
E.128.600 - The system shall support the ability to view the usage of Monitoring QR external module.
E.128.700 - The system shall support the ability to set up Monitoring QR module in projects.
E.128.800 - The system shall support the ability to exclude fields from being monitored using Monitoring QR external module.
E.128.900 - The system shall allow users to view monitoring queries inline with the question based on their roles using Monitoring QR external module.
E.128.1000 - The system shall support the ability to raise monitoring queries only against flagged fields using Monitoring QR external module.
E.128.1100 - The system shall enable the Data Manager to either respond or choose not to respond to monitoring queries via the Monitoring QR external module.
E.128.1200 - The system shall support the ability to view/hide ‘Save’ and ‘Cancel’ buttons in the data entry form when the user is not a data entry user using Monitoring QR external module.
E.128.1300 - The system shall support the ability to make all fields readonly (except the monitor status and form status fields) for users other than data entry users using Monitoring QR external module.
E.128.1400 - The system shall support the ability to include field label in the inline table below the data entry form using Monitoring QR external module.
E.128.1500 - The system shall automatically update the monitoring status to ‘Requires verification due to data change’ if the current status is ‘Verification complete’ based on the selected option using Monitoring QR external module.
E.128.1600 - The system shall allow only super-admins to configure the Monitoring QR external module.
E.128.1700 - The system shall support the ability to use Monitoring QR external module for different Arms.
E.128.1800 - The system shall support the ability to use Monitoring QR external module for Repeating Events/Instruments.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.100%20-%20Monitoring%20QR%20Configurations.feature

Feature: E.128.100 - The system shall support the ability to enable/disable Monitoring QR external module.

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: E.128.100 - Enable external module - Default settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.128.100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I should NOT see a link labeled exactly "Manage"
And I logout

Scenario: E.128.200 - Enable module on all projects by default Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Monitoring QR - v0.0.0” And I should NOT see “Enabled for All Projects” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Enable module on all projects by default” And I click on the button labeled “Save” Then I should see “Monitoring QR - v0.0.0” And I should see “Enabled for All Projects” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.128.100.200" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Monitoring QR - v0.0.0"
And I should see "Enabled for All Projects"
And I logout

Scenario: E.128.300 - Make module discoverable by users Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Monitoring QR - v0.0.0” And I should see “Enabled for All Projects” And I should NOT see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Enable module on all projects by default” And I check the checkbox labeled “Make module discoverable by users” And I click on the button labeled “Save” Then I should see “Monitoring QR - v0.0.0” And I should NOT see “Enabled for All Projects” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.128.100.300" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Monitoring QR - v0.0.0"
And I should see "Discoverable"
And I should NOT see "Activation request is pending"
When I click on the button labeled Request Activation for the external module named "Monitoring QR"
Then I should see "SUCCESS! Your external module activation request has been sent to a REDCap administrator for review." in the dialog box
And I click on the button labeled "Close" in the dialog box
And I should NOT see "Monitoring QR - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Monitoring QR - v0.0.0"
And I should see "Discoverable"
And I should see "Activation request is pending"
And I logout

## Commenting this as HTML is not loading into iframe
## Hence this is done manually
# Given I login to REDCap with the user "Test_Admin"
# When I click on the link labeled "Control Center"
# Then I should see a link labeled "To-Do List"

# Given I click on the link labeled "To-Do List"
# Then I should see "Pending Requests"
# And I should see the "Activate external module" request created for the project named "E.128.100.300" within the Pending Requests table
# When I click on the process request icon for the "Activate external module" request created for the project named "E.128.100.300" within the Pending Requests table
# # HTML is not loading into iFrame
# Then I should see "Enable module 'Monitoring QR - '?" in the dialog box in the iframe
# And I click on the button labeled "Enable" in the dialog box in the iframe
# And I close the iframe window
# Then I should see the "Activate external module" request created for the project named "E.128.100.300" within the Completed & Archived Requests table
# And I logout

# Given I login to REDCap with the user "Test_User1"
# When I click on the link labeled "My Projects"
# And I click on the link labeled "E.128.100.300"
# And I click on the link labeled exactly "Manage"
# Then I should see "External Modules - Project Module Manager"
# And I should see "Monitoring QR - v0.0.0"
# And I should see "Discoverable"
# And I logout

Scenario: E.128.400 - Allow non-admins to enable this module on projects Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center”
And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Monitoring QR - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Allow non-admins to enable this module on projects” And I click on the button labeled “Save” Then I should see “Monitoring QR - v0.0.0” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.128.100.400" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Monitoring QR - v0.0.0"
And I should see "Discoverable"
And I click on the button labeled Enable for the external module named "Monitoring QR - v0.0.0"
Then I should see "Monitoring QR - v0.0.0"
And I logout

Scenario: E.128.500 - Hide this module from non-admins in the list of enabled modules on each project # Enable ‘Hide this module from non-admins in the list of enabled modules on each project’ Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Monitoring QR - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Make module discoverable by users” And I uncheck the checkbox labeled “Allow non-admins to enable this module on projects” And I check the checkbox labeled “Hide this module from non-admins in the list of enabled modules on each project” And I click on the button labeled “Save” Then I should see “Monitoring QR - v0.0.0” And I should NOT see “Discoverable”

When I create a new project named "E.128.100.500" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR - v0.0.0"
Then I should see "Monitoring QR - v0.0.0"

# Add User Test_User1 with Project Setup & Design User Rights
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I check the User Right named "Project Setup & Design"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
And I logout

# Disable 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled exactly "Configure"
And I uncheck the checkbox labeled "Hide this module from non-admins in the list of enabled modules on each project"
And I click on the button labeled "Save"
Then I should see "Monitoring QR - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Monitoring QR - v0.0.0"
And I logout

# Enable from project - 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled exactly "Configure"
And I check the checkbox labeled "Hide this module from non-admins in the list of enabled modules on this project"
And I click on the button labeled "Save"
Then I should see "Monitoring QR - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
And I logout

Scenario: Module configuration permissions in projects # Enable - Require Project Setup/Design privilege Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Configure” Then I should see the dropdown field labeled “Module configuration permissions in projects” with the option “Require Project Setup/Design privilege” selected And I click on the button labeled “Save” Then I should see “Monitoring QR - v0.0.0”

When I create a new project named "E.128.100.600" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR - v0.0.0"
Then I should see "Monitoring QR - v0.0.0"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Monitoring QR" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Enable - Require module-specific user privilege
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should see "Monitoring QR - v0.0.0"
When I click on the button labeled exactly "Configure"
And I select "Require module-specific user privilege" on the dropdown field labeled "Module configuration permissions in projects"
And I click on the button labeled "Save"
Then I should see "Monitoring QR - v0.0.0"

When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.100.600"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Monitoring QR" that is unchecked
And I check the checkbox labeled "Monitoring QR"
And I click on the button labeled "Add user"
Then I should see "successfully added"

Scenario: E.128.600 - View Usage of the external module When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Monitoring QR - v0.0.0” When I click on the button labeled “View Usage” Then I should see a link labeled “E.128.100.400” in the dialog box And I should see a link labeled “E.128.100.500” in the dialog box And I should see a link labeled “E.128.100.600” in the dialog box When I click on the link labeled “E.128.100.400” in the dialog box # # For Request Activation of project E.128.100.300 which doesn’t work in ATS. # # Can be checked manually # And I should see a link labeled “E.128.100.300” in the dialog box Then I should see “Project Home” And I should see “E.128.100.400”

Scenario: E.128.100 - Disable external module # Disable external module in project E.128.100.400 Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

# Disable external module in project E.128.100.500
Given I click on the link labeled "My Projects"
When I click on the link labeled "E.128.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Monitoring QR - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

# Disable external module in project E.128.100.600
Given I click on the link labeled "My Projects"
When I click on the link labeled "E.128.100.600"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Monitoring QR - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.100.400" in the dialog box
And I should NOT see "E.128.100.500" in the dialog box
And I should NOT see "E.128.100.600" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.200%20-%20REDUNDANT.feature

Feature: E.128.200 - The system shall support the ability to enable Monitoring QR external module on all projects by default.

This feature test is REDUNDANT and can be viewed in E.128.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.300%20-%20REDUNDANT.feature

Feature: E.128.300 - The system shall support the ability to make Monitoring QR external module discoverable by users.

This feature test is REDUNDANT and can be viewed in E.128.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.400%20-%20REDUNDANT.feature

Feature: E.128.400 - The system shall support the ability to allow non-admins to enable Monitoring QR external module on projects.

This feature test is REDUNDANT and can be viewed in E.128.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.500%20-%20REDUNDANT.feature

Feature: E.128.500 - The system shall support the ability to hide Monitoring QR external module from non-admins in the list of enabled modules on each project.

This feature test is REDUNDANT and can be viewed in E.128.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.600%20-%20REDUNDANT.feature

Feature: E.128.600 - The system shall support the ability to view the usage of Monitoring QR external module.

This feature test is REDUNDANT and can be viewed in E.128.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.700%20-%20Monitoring%20QR%20in%20Projects.feature

Feature: E.128.700 - The system shall support the ability to set up Monitoring QR module in projects.

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E128700.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntry role and DAG2
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntry" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntry" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data 
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/E128700_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.128.800, E.128.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntry" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I click on the button labeled "+" for the field labeled "1. What roles do data entry users use?" in the external module configuration
And I select "DataEntryPI" on the dropdown field labeled "2. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800 - Repeating Instruments Arm 1
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.700"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
# View and Edit Rights on Instrument
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I enter "Query1" in the column "Query to raise" for the field "ptname"
When I click on the button labeled "Raise monitor query"
Then I should see the monitoring status "Verification in progress"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the second instance
Then I enter "Query2" in the column "Query to raise" for the field "checkbox"
And I click on the button labeled "Raise monitor query"
Then I should see the monitoring status "Verification in progress"

# E.128.1700, E.128.1800 - Repeating Events Arm 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
And I enter "Query3" in the column "Query to raise" for the field "text2"
When I click on the button labeled "Raise monitor query"
Then I should see the monitoring status "Verification in progress"

And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#1)"
And I enter "Query4" in the column "Query to raise" for the field "dropdown"
When I click on the button labeled "Raise monitor query"
Then I should see the monitoring status "Verification in progress"

# Non Repeating Instrument
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 1"
# Readonly rights on Instrument
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1-1" and click on the bubble
And I enter "Query5" in the column "Query to raise" for the field "ptname_v2"
When I click on the button labeled "Raise monitor query"
Then I should see the monitoring status "Verification in progress"

Given I click on the link labeled "Monitoring QR"
Then I should see a table header and rows containing the following values in a table:
  | Timestamp          | Username   | Query status | Monitor status           | Record | Form            | Event name [event id] | Instance | Field [label]                       | Flags               | Query  | Response [comment] |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | text_validation | Event 1 [40]          | 1        | ptname_v2 [Name]                    | unflagged           | Query5 |                    |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 2-1      | data_types      | Event 1 [43]          | 1        | dropdown [Multiple Choice Dropdown] | @ENDPOINT-SECONDARY | Query4 |                    |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 2-1      | data_types      | Event 1 [43]          | 2        | text2 [Text2]                       | unflagged             | Query3 |                    |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | data_types      | Event 1 [40]          | 2        | checkbox [Checkbox]                   | unflagged           | Query2 |                    |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | data_types      | Event 1 [40]          | 3        | ptname [Name]                       | @ENDPOINT-PRIMARY   | Query1 |                    |

And I should see 5 rows in the monitoring logging table
When I click on the "third" view icon
Then I should see "2-1"
And I should see "Data Types"
And I should see "Event 1 (Arm 2: Arm Two)"
And I should see "Instance #2"

Given I click on the link labeled "Monitoring QR"
And I click on the "first" view icon
Then I should see "1-1"
And I should see "Text Validation"
And I should see "Event 1 (Arm 1: Arm 1)"

# Filter by form
Given I click on the link labeled "Monitoring QR"
When I select "text_validation" on the dropdown field labeled "Form"
Then I should see a table header and rows containing the following values in a table:
  | Timestamp          | Username   | Query status | Monitor status           | Record | Form            | Event name [event id] | Instance | Field [label]                       | Flags               | Query  | Response [comment] |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | text_validation | Event 1 [40]          | 1        | ptname_v2 [Name]                    | unflagged           | Query5 |                    |

And I should see 1 row in the monitoring logging table
And I should NOT see "data_types"

# Filter by event
When I select "any form" on the dropdown field labeled "Form"
When I select "Event 1 [40]" on the dropdown field labeled "Event"
Then I should see a table header and rows containing the following values in a table:
  | Timestamp          | Username   | Query status | Monitor status           | Record | Form            | Event name [event id] | Instance | Field [label]                       | Flags               | Query  | Response [comment] |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | text_validation | Event 1 [40]          | 1        | ptname_v2 [Name]                    | unflagged           | Query5 |                    |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | data_types      | Event 1 [40]          | 2        | checkbox [Checkbox]                   | unflagged           | Query2 |                    |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | data_types      | Event 1 [40]          | 3        | ptname [Name]                       | @ENDPOINT-PRIMARY   | Query1 |                    |

And I should see 3 rows in the monitoring logging table
And I should NOT see "Event 1 [43]"

# Filter by event and flag
When I select "@ENDPOINT-PRIMARY" on the dropdown field labeled "Flag"
Then I should see a table header and rows containing the following values in a table:
  | Timestamp          | Username   | Query status | Monitor status           | Record | Form            | Event name [event id] | Instance | Field [label]                       | Flags               | Query  | Response [comment] |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | data_types      | Event 1 [40]          | 3        | ptname [Name]                       | @ENDPOINT-PRIMARY   | Query1 |                    |

And I should see 1 row in the monitoring logging table
And I should NOT see "Event 1 [43]"
And I should NOT see "unflagged"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.700"
When I click on the link labeled "Monitoring QR"
Then I should see "Use this page to review the monitoring queries for your project. The options below can be used to filter the queries as required."
Then I should see a table header and rows containing the following values in a table:
  | Timestamp          | Username   | Query status | Monitor status           | Record | Form            | Event name [event id] | Instance | Field [label]                       | Flags               | Query  | Response [comment] |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | text_validation | Event 1 [40]          | 1        | ptname_v2 [Name]                    | unflagged           | Query5 |                    |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | data_types      | Event 1 [40]          | 2        | checkbox [Checkbox]                   | unflagged           | Query2 |                    |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | data_types      | Event 1 [40]          | 3        | ptname [Name]                       | @ENDPOINT-PRIMARY   | Query1 |                    |

# DAG access verified
And I should NOT see "2-1"
And I should see 3 rows in the monitoring logging table

# Filter by instance
When I select "2" on the dropdown field labeled "Instance"
Then I should see a table header and rows containing the following values in a table:
  | Timestamp          | Username   | Query status | Monitor status           | Record | Form            | Event name [event id] | Instance | Field [label]                       | Flags               | Query  | Response [comment] |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 1-1      | data_types      | Event 1 [40]          | 2        | checkbox [Checkbox]                   | unflagged           | Query2 |                    |

And I should see 1 row in the monitoring logging table
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.700"
When I click on the link labeled "Monitoring QR"
Then I should see "Use this page to review the monitoring queries for your project. The options below can be used to filter the queries as required."
Then I should see a table header and rows containing the following values in a table:
  | Timestamp          | Username   | Query status | Monitor status           | Record | Form            | Event name [event id] | Instance | Field [label]                       | Flags               | Query  | Response [comment] |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 2-1      | data_types      | Event 1 [43]          | 1        | dropdown [Multiple Choice Dropdown] | @ENDPOINT-SECONDARY | Query4 |                    |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 2-1      | data_types      | Event 1 [43]          | 2        | text2 [Text2]                       | unflagged             | Query3 |                    |

# DAG access verified
And I should NOT see "1-1"
And I should see 2 rows in the monitoring logging table

# Filter by field
When I select "text2" on the dropdown field labeled "Field"
Then I should see a table header and rows containing the following values in a table:
  | Timestamp          | Username   | Query status | Monitor status           | Record | Form            | Event name [event id] | Instance | Field [label]                       | Flags               | Query  | Response [comment] |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | Verification in progress | 2-1      | data_types      | Event 1 [43]          | 2        | text2 [Text2]                       | unflagged             | Query3 |                    |

And I should see 1 row in the monitoring logging table

When I click on the button labeled "Export current page"
Then the downloaded CSV with filename "E128700_MonitorLog_yyyy-mm-dd_hhmm.csv" has the header and rows below
  | Username   | Query status | Monitor status           | Record | Form            | Event id | Event name   | Instance | Field | Field label | Flags     | Query  | Response | Response comment |
  | Test_User4 | OPEN         | Verification in progress | 2-1    | data_types      | 43       | Event 1      | 2        | text2 | Text2       | unflagged | Query3 |          |                  |

When I click on the button labeled "Export all pages"
Then the downloaded CSV with filename "E128700_MonitorLog_yyyy-mm-dd_hhmm.csv" has the header and rows below
  | Username   | Query status | Monitor status           | Record | Form            | Event id | Event name   | Instance | Field | Field label | Flags     | Query  | Response | Response comment |
  | Test_User4 | OPEN         | Verification in progress | 2-1    | data_types      | 43       | Event 1      | 2        | text2 | Text2       | unflagged | Query3 |          |                  |

When I click on the button labeled "Export everything ignoring filters"
Then the downloaded CSV with filename "E128700_MonitorLog_yyyy-mm-dd_hhmm.csv" has the header and rows below
  | Username   | Query status | Monitor status           | Record | Form            | Event id | Event name   | Instance | Field    | Field label              | Flags               | Query  | Response | Response comment |
  | Test_User4 | OPEN         | Verification in progress | 2-1    | data_types      | 43         | Event 1      | 1        | dropdown | Multiple Choice Dropdown | @ENDPOINT-SECONDARY | Query4 |          |                  |
  | Test_User4 | OPEN         | Verification in progress | 2-1    | data_types      | 43       | Event 1      | 2        | text2    | Text2                    | unflagged           | Query3 |          |                  |

And I logout   

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.700” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.700" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.800%20-%20Exclude%20Fields%20from%20Monitoring.feature

Feature: E.128.800 - The system shall support the ability to exclude fields from being monitored using Monitoring QR external module.

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.800” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E128700.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntry" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
 And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Never" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntry role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntry" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntry" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 with 'Project Setup & Design' User Rights
Given I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Monitoring QR" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data 
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/E128700_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.800"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
# VERIFY -  E.128.1300
Then I should see the field labeled "Name" disabled
And I should see a button labeled "Save & Exit Form"
And I should see a button labeled "Cancel"
And I should see "Monitor query status: NONE"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Flags                            | Query to raise |
  | ptname            | @ENDPOINT-PRIMARY                |                |
  | identifier        | -- not flagged for monitoring -- |                |
  | text2             | -- not flagged for monitoring -- |                |
  | notesbox          | @ENDPOINT-PRIMARY                |                |
  | dropdown          | @ENDPOINT-SECONDARY              |                |
  | radio_button_auto | @ENDPOINT-SECONDARY              |                |
  | checkbox            | -- not flagged for monitoring -- |                |

When I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "text2"
And I enter "Query3" in the column "Query to raise" for the field "notesbox"
And I enter "Query4" in the column "Query to raise" for the field "radio_button_auto"
And I click on the button labeled "Raise monitor query"
Then I should see "Showing queried fields only"
And I should see "Verification in progress"
# VERIFY -  E.128.1400
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            | Paul        |                          |       | Query1 |
  | text2             |             |                          |       | Query2 |
  | notesbox          |             |                          |       | Query3 |
  | radio_button_auto |             |                          |       | Query4 |

And I should NOT see "identifier" in the monitoring table
And I should NOT see "dropdown" in the monitoring table
And I should NOT see "checkbox" in the monitoring table

Given I click on the link labeled "Record Status Dashboard"
# Readonly rights on Instrument
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1-1" and click on the bubble
And I should NOT see a button labeled "Save & Exit Form"
And I should NOT see a button labeled "Cancel"    
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.800"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should NOT see a button labeled "Send response"
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.800"

When I click on the link labeled "Resolve Issues"
Then I should see "Data Resolution Dashboard"
When I select the option "All status types (1)" from the dropdown field for Status in Data Resolution Dashboard
Then I should see a table rows containing the following values in a table:
  | 1-1 (#3) Event 1 (Arm 1: Arm 1)   | Field: data_types_monstat (Monitoring Status)      | Test_User4 | [same as first update] |

And I should NOT see a button labeled "comment"

# E.128.800, E.128.1100, E.128.1200, E.128.1300, E.128.1400
Given I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I scroll to the field labeled "When checked, users with the data manager role can also respond to monitors' queries"
And I check the checkbox labeled "When checked, users with the data manager role can also respond to monitors' queries" in the dialog box
And I check the checkbox labeled "When checked, the first column in the inline table below the data entry form includes the field label after the field name" in the dialog box
And I check the checkbox labeled "When checked, the default behaviour of making all fields readonly (except the monitor status and form status fields) is not applied" in the dialog box
And I check the checkbox labeled "When checked, the save and cancel buttons are not hidden when the user is not a data entry user" in the dialog box
And I enter "@NOTMONITORED" into the input field labeled "An action tag that indicates the field should not be monitored" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"   
And I logout

# VERIFY -  E.128.1100
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.800"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see a button labeled "Send response"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.800"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
And I should see a button labeled "Save & Exit Form"
And I should see a button labeled "Cancel"
# VERIFY -  E.128.1400
Then I should see a table header and rows containing the following values in a table:
  | Field                                 | Field value | Query response [comment] | Reply | Query  |
  | ptname [Name]                         | Paul        |                          |       | Query1 |
  | text2 [Text2]                         |             |                          |       | Query2 |
  | notesbox [Notes Box]                  |             |                          |       | Query3 |
  | radio_button_auto [Radio Button Auto] |             |                          |       | Query4 |

#VERIFY - E.128.1300
And I clear field and enter "Name1" into the data entry form field labeled "Name"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the first instance
Then I should see a table header and rows containing the following values in a table:
  | Field             | Flags                            | Query to raise |
  | ptname            | @ENDPOINT-PRIMARY                |                |
  | text2             | -- not flagged for monitoring -- |                |
  | notesbox          | @ENDPOINT-PRIMARY                |                |
  | dropdown          | @ENDPOINT-SECONDARY              |                |
  | radio_button_auto | @ENDPOINT-SECONDARY              |                |
  | checkbox            | -- not flagged for monitoring -- |                |

# VERIFY -  E.128.800
And I should NOT see "identifier" in the monitoring table

# VERIFY -  E.128.1200
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1-1" and click on the bubble
And I should NOT see a button labeled "Save & Exit Form"
And I should see a button labeled "Cancel" disabled
And I logout

#VERIFY - E.128.1600 - Only Super-users can configure external Module
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.800"
And I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I should NOT see "Provide the regex used to identify fields that should be monitored" in the dialog box
And I should NOT see "What role do monitors use" in the dialog box
And I should NOT see "What roles do data entry users use" in the dialog box
And I should NOT see "What role do data managers use" in the dialog box
And I should NOT see "Id of monitoring status field meaning" in the dialog box
And I should NOT see "A form's monitoring status is automatically set to 'Requires verification" in the dialog box
And I should NOT see "An action tag that indicates the field should not be monitored" in the dialog box
And I should NOT see "If the user has the monitor role, when checked, any open queries will be shown inline with the question being queried" in the dialog box
And I should NOT see "If the user has the data entry role, when checked, any open queries will be shown inline with the question being queried" in the dialog box
And I should NOT see "If the user has the data manager role, when checked, any open queries will be shown inline with the question being queried" in the dialog box
And I should NOT see "Monitors can only raise queries against flagged fields" in the dialog box
And I should NOT see "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
And I should NOT see "When checked, the save and cancel buttons are not hidden when the user is not a data entry user" in the dialog box
And I should NOT see "When checked, the default behaviour of making all fields readonly (except the monitor status and form status fields) is not applied" in the dialog box
And I should NOT see "When checked, the first column in the inline table below the data entry form includes the field label after the field name" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Monitoring QR - v0.0.0"
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.800” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | ignore-for-monitoring-action-tag, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form, allow-data-managers-to-respond-to-queries                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.800" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.900%20-%20Monitoring%20Query%20Inline.feature

Feature: E.128.900 - The system shall allow users to view monitoring queries inline with the question based on their roles using Monitoring QR external module.

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.900” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E128700.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

# E.128.900
Given I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntry" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
 And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Never" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
And I check the checkbox labeled "If the user has the monitor role, when checked, any open queries will be shown inline with the question being queried" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntry role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntry" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntry" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data 
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/E128700_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
# View and Edit Rights on Instrument
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
And I should see "This form has never had a monitor query raised. You can raise queries against any fields using the form below. Ignored fields are not shown."
And I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field             | Flags                            | Query to raise |
  | ptname            | @ENDPOINT-PRIMARY                |                |
  | identifier        | -- not flagged for monitoring -- |                |
  | text2             | -- not flagged for monitoring -- |                |
  | notesbox          | @ENDPOINT-PRIMARY                |                |
  | dropdown          | @ENDPOINT-SECONDARY              |                |
  | radio_button_auto | @ENDPOINT-SECONDARY              |                |
  | checkbox            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
When I click on the button labeled "Raise monitor query"
# VERIFY - E.128.900
And I should see "Query1" within the data entry field labeled "Name"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "Showing queried fields only. Waiting for responses."
# VERIFY - E.128.900
And I should NOT see "Query1" within the data entry field labeled "Name"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "Showing queried fields only. Waiting for responses."
# VERIFY - E.128.900
And I should NOT see "Query1" within the data entry field labeled "Name"
And I logout

# E.128.900, E.128.1000
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.900"
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I scroll to the field labeled "Monitors can only raise queries against flagged fields"
And I check the checkbox labeled "Monitors can only raise queries against flagged fields"
And I check the checkbox labeled "If the user has the data manager role, when checked, any open queries will be shown inline with the question being queried" in the dialog box
And I check the checkbox labeled "If the user has the data entry role, when checked, any open queries will be shown inline with the question being queried" in the dialog box
And I uncheck the checkbox labeled "If the user has the monitor role, when checked, any open queries will be shown inline with the question being queried" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "Showing queried fields only"
# VERIFY - E.128.900
And I should NOT see "Query1" within the data entry field labeled "Name"

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the first instance
# VERIFY - E.128.1000
And I should see a table header and rows containing the following values in a table:
  | Field             | Flags                            | Query to raise |
  | ptname            | @ENDPOINT-PRIMARY                |                |
  | notesbox          | @ENDPOINT-PRIMARY                |                |
  | dropdown          | @ENDPOINT-SECONDARY              |                |
  | radio_button_auto | @ENDPOINT-SECONDARY              |                |

And I should NOT see "identifier" in the monitoring table
And I should NOT see "text2" in the monitoring table
And I should NOT see "checkbox" in the monitoring table
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "Showing queried fields only. Waiting for responses."
# VERIFY - E.128.900
And I should see "Query1" within the data entry field labeled "Name"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "Showing queried fields only. Waiting for responses."
# VERIFY - E.128.900
And I should see "Query1" within the data entry field labeled "Name"
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.900” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.900" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1000%20-%20REDUNDANT.feature

Feature: E.128.1000 - The system shall support the ability to raise monitoring queries only against flagged fields using Monitoring QR external module.

This feature test is REDUNDANT and can be viewed in E.128.900

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1100%20-%20REDUNDANT.feature

Feature: The system shall enable the Data Manager to either respond or choose not to respond to monitoring queries via the Monitoring QR external module.

This feature test is REDUNDANT and can be viewed in E.128.800

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1200%20-%20REDUNDANT.feature

Feature: E.128.1200 - The system shall support the ability to view/hide ‘Save’ and ‘Cancel’ buttons in the data entry form when the user is not a data entry user using Monitoring QR external module.

This feature test is REDUNDANT and can be viewed in E.128.800

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1300%20-%20REDUNDANT.feature

Feature: E.128.1300 - The system shall support the ability to make all fields readonly (except the monitor status and form status fields) for users other than data entry users using Monitoring QR external module.

This feature test is REDUNDANT and can be viewed in E.128.800

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1400%20-%20REDUNDANT.feature

Feature: E.128.1400 - The system shall support the ability to include field label in the inline table below the data entry form using Monitoring QR external module.

This feature test is REDUNDANT and can be viewed in E.128.800

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1510%20-%20Monitoring%20Status%20Updated%20-%20Always.feature

Feature: E.128.1500 - The system shall automatically update the monitoring status to ‘Requires verification due to data change’ if the current status is ‘Verification complete’ based on the selected option using Monitoring QR external module. This feature tests the option ‘Always whenever any field is updated’

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.1510” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E1281500.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# # Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800 - Verify Repeating Instrument Arm 1
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1510"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field             | Flags                            | Query to raise |
  | ptname            | @ENDPOINT-PRIMARY                |                |
  | identifier        | -- not flagged for monitoring -- |                |
  | text2             | -- not flagged for monitoring -- |                |
  | notesbox          | @ENDPOINT-PRIMARY                |                |
  | dropdown          | @ENDPOINT-SECONDARY              |                |
  | radio_button_auto | @ENDPOINT-SECONDARY              |                |
  | checkbox            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "text2"
And I enter "Query3" in the column "Query to raise" for the field "notesbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            | Paul        |                          |       | Query1 |
  | text2             |             |                          |       | Query2 |
  | notesbox          |             |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1510"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            | Paul        | Query1 |
  | text2             |             | Query2 |
  | notesbox          |             | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "text2"
And I enter "Response1" in the column "Response" for the field "text2"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response2" in the column "Response" for the field "notesbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1510"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            | Paul        | Value updated as per source                        |
  | text2             |             | Value correct, error in source updated [Response1] |
  | notesbox          |             | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Flags                            | Query to raise |
  | ptname            | @ENDPOINT-PRIMARY                |                |
  | identifier        | -- not flagged for monitoring -- |                |
  | text2             | -- not flagged for monitoring -- |                |
  | notesbox          | @ENDPOINT-PRIMARY                |                |
  | dropdown          | @ENDPOINT-SECONDARY              |                |
  | radio_button_auto | @ENDPOINT-SECONDARY              |                |
  | checkbox            | -- not flagged for monitoring -- |                |

And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1510" 
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.1510” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.1510" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1520%20-%20Monitoring%20Status%20Updated%20-%20Never.feature

Feature: E.128.1500 - The system shall automatically update the monitoring status to ‘Requires verification due to data change’ if the current status is ‘Verification complete’ based on the selected option using Monitoring QR external module. This feature tests the option ‘Never’

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.1520” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E1281500.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

Given I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Never" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800 - Verify Repeating Instrument Arm 1
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1520"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the second instance
Then I enter "Query1" in the column "Query to raise" for the field "ptname"
When I click on the button labeled "Raise monitor query"
Then I should see the monitoring status "Verification in progress"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1520"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the second instance
Then I should see "Showing queried fields only. Waiting for responses."
And I select "Value correct as per source" in the dropdown field in column "Response" for the field "ptname"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table

When I click on the button labeled "Show history"
Then I should see "Monitor query history"
And I should see a table header and row containing the following values in a table:
  | Timestamp        | Username   | Query status | Field [label]  | Query  | Response [comment]          |
  | mm/dd/yyyy hh:mm | Test_User1 | OPEN         | ptname [Name]    | Query1 | Value correct as per source |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | ptname [Name]    | Query1 |                             |

When I click on the button labeled "Hide history"
Then I should NOT see "Monitor query history"
And I should NOT see "ptname [Name]"
And I should NOT see "Timestamp"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1520"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the second instance

When I click on the button labeled "Show history"
Then I should see "Monitor query history"
And I should see a table header and row containing the following values in a table:
  | Timestamp        | Username   | Query status | Field [label]  | Query  | Response [comment]          |
  | mm/dd/yyyy hh:mm | Test_User1 | OPEN         | ptname [Name]    | Query1 | Value correct as per source |
  | mm/dd/yyyy hh:mm | Test_User4 | OPEN         | ptname [Name]    | Query1 |                             |

When I click on the button labeled "Hide history"
Then I should NOT see "Monitor query history"
And I should NOT see "ptname [Name]"
And I should NOT see "Timestamp"

And I click on the button labeled "Close as verified"
And I should see the monitoring status "Verified"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1520" 
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the second instance
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"

# VERIFY - E.128.1500
# Field is not queried or flagged
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I should see the monitoring status "Verified"
# Field is queried and flagged
When I clear field and enter "Name1" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I should see the monitoring status "Verified"
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.1520” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.1510" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1530%20-%20Monitoring%20Status%20Updated%20-%20Flagged.feature

Feature: E.128.1500 - The system shall automatically update the monitoring status to ‘Requires verification due to data change’ if the current status is ‘Verification complete’ based on the selected option using Monitoring QR external module. This feature tests the option ‘When the updated field is flagged’

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.1530” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E1281500.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User2 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "When the updated field is flagged" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800 - Verify Repeating Events Arm 2
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1530"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
Then I enter "Query1" in the column "Query to raise" for the field "text2"
When I click on the button labeled "Raise monitor query"
Then I should see the monitoring status "Verification in progress"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1530"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
Then I should see "Showing queried fields only. Waiting for responses."
And I select "Value correct as per source" in the dropdown field in column "Response" for the field "text2"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1530"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
And I click on the button labeled "Close as verified"
And I should see the monitoring status "Verified"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1530" 
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
And I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I should see the monitoring status "Verified"

# VERIFY - E.128.1500
# Field is previously queried
When I clear field and enter "TextEdited" into the input field labeled "Text2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I should see the monitoring status "Verified"
# Field is flagged
When I clear field and enter "Name1" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I should see the monitoring status "Requires verification due to data change"
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.1530” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.1510" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1540%20-%20Monitoring%20Status%20Updated%20-%20Previously%20Queried.feature

Feature: E.128.1500 - The system shall automatically update the monitoring status to ‘Requires verification due to data change’ if the current status is ‘Verification complete’ based on the selected option using Monitoring QR external module. This feature tests the option ‘When the updated field has been previously queried’

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.1540” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E1281500.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User2 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "When the updated field has been previously queried" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800 - Verify Repeating Events Arm 2
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1540"
 When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "(Instance #3)"
And I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field             | Flags                            | Query to raise |
  | ptname            | @ENDPOINT-PRIMARY                |                |
  | identifier        | -- not flagged for monitoring -- |                |
  | text2             | -- not flagged for monitoring -- |                |
  | notesbox          | @ENDPOINT-PRIMARY                |                |
  | dropdown          | @ENDPOINT-SECONDARY              |                |
  | radio_button_auto | @ENDPOINT-SECONDARY              |                |
  | checkbox            | -- not flagged for monitoring -- |                |

And I enter "Query1" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | checkbox          |             | Query1 |

When I click on the button labeled "Close as not required"
Then I should see the monitoring status "Not required"
And I should see "Monitor query status: CLOSED"
And I should see a table header and rows containing the following values in a table:
  | Field             | Flags                            | Query to raise |
  | ptname            | @ENDPOINT-PRIMARY                |                |
  | identifier        | -- not flagged for monitoring -- |                |
  | text2             | -- not flagged for monitoring -- |                |
  | notesbox          | @ENDPOINT-PRIMARY                |                |
  | dropdown          | @ENDPOINT-SECONDARY              |                |
  | radio_button_auto | @ENDPOINT-SECONDARY              |                |
  | checkbox            | -- not flagged for monitoring -- |                |

When I enter "Query2" in the column "Query to raise" for the field "text2"
And I click on the button labeled "Raise monitor query"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1540"
 When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "(Instance #3)"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Missing data not done" in the dropdown field in column "Response" for the field "text2"
And I enter "Response1" in the column "Response" for the field "text2"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1540"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "(Instance #3)"
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field            | Field value | Query response [comment]          |
  | text2            |             | Missing data not done [Response1] |
 
When I select "reraise" in the dropdown field in column "Reply" for the field "text2"
And I click on the button labeled "Send back for further attention"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | text2             |             |                          |       | Query2 |
 
When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1540" 
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "(Instance #3)"
And I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"

# VERIFY - E.128.1500
# Field is flagged
When I clear field and enter "Name1" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I should see the monitoring status "Verified"
# Field is previously queried
When I clear field and enter "TextEdited" into the input field labeled "Text2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I should see the monitoring status "Requires verification due to data change"
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.1540” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.1510" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1550%20-%20Monitoring%20Status%20Updated%20-%20Previously%20Queried%20or%20Flagged.feature

Feature: E.128.1500 - The system shall automatically update the monitoring status to ‘Requires verification due to data change’ if the current status is ‘Verification complete’ based on the selected option using Monitoring QR external module. This feature tests the option ‘When the updated field has been previously queried or the field is flagged’

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.1550” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E1281500.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "When the updated field has been previously queried or the field is flagged" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800 - Verify Repeating Instrument Arm 1
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1550"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I enter "Query1" in the column "Query to raise" for the field "text2"
When I click on the button labeled "Raise monitor query"
Then I should see the monitoring status "Verification in progress"

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1-1" and click on the bubble
And I enter "Query2" in the column "Query to raise" for the field "ptname_v2"
When I click on the button labeled "Raise monitor query"
Then I should see the monitoring status "Verification in progress"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1550"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "Showing queried fields only. Waiting for responses."
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "text2"
And I enter "Response1" in the column "Response" for the field "text2"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1-1" and click on the bubble
Then I should see "Showing queried fields only. Waiting for responses."
And I select "Value correct as per source" in the dropdown field in column "Response" for the field "ptname_v2"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1550"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
And I click on the button labeled "Close as verified"
And I should see the monitoring status "Verified"

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1-1" and click on the bubble
And I click on the button labeled "Close as verified"
And I should see the monitoring status "Verified"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1550" 
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"

# VERIFY - E.128.1500
# Field not flagged or previously queried
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I should see the monitoring status "Verified"
# Field previously queried
When I clear field and enter "TextEdited" into the input field labeled "Text2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I should see the monitoring status "Requires verification due to data change"

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1-1" and click on the bubble
# Field is flagged
When I clear field and enter "abc@email.com" into the input field labeled "Email"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I should see the monitoring status "Requires verification due to data change"
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.1550” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.1510" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1600%20-%20REDUNDANT.feature

Feature: E.128.1600 - The system shall allow only super-admins to configure the Monitoring QR external module.

This feature test is REDUNDANT and can be viewed in E.128.800

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1700%20-%20REDUNDANT.feature

Feature: E.128.1700 - The system shall support the ability to use Monitoring QR external module for different Arms.

This feature test is REDUNDANT and can be viewed in E.128.1510 to E.128.1550

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1800%20-%20REDUNDANT.feature

Feature: E.128.1800 - The system shall support the ability to use Monitoring QR external module for Repeating Events/Instruments.

This feature test is REDUNDANT and can be viewed in E.128.1510 to E.128.1550

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.1900%20-%20RepeatingEvents_DoubleArm_withDAGs.feature

Feature: E.128.1900 - RepeatingEvents_DoubleArm_withDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.1900” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_DoubleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            | User3       |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled "Arm Two"
And I should NOT see a link labeled exactly "2-1"
And I click on the link labeled "Arm 1"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            | User3       | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                          |
  | ptname            | User3       | Value updated as per source                       |
  | notesbox          |             | Value correct, error in source update [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                 |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.1900" 
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.1900” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.1900" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2000%20-%20RepeatingEvents_DoubleArm_noDAGs.feature

Feature: E.128.2000 - RepeatingEvents_DoubleArm_noDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.2000” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_DoubleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_DoubleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2000"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            | User3       |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2000"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled "Arm Two"
And I should see a link labeled exactly "2"
And I click on the link labeled "Arm 1"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            | User3       | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2000"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            | User3       | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2000" 
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.2000” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.2000" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2100%20-%20RepeatingEvents_SingleArm_withDAGs.feature

Feature: E.128.2100 - RepeatingEvents_SingleArm_withDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.2100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_SingleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_SingleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2100"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            | User3       |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2100"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should NOT see a link labeled exactly "Arm Two"
And I should NOT see a link labeled exactly "2-1"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            | User3       | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2100"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            | User3       | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2100" 
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.2100” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.2100" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2200%20-%20RepeatingEvents_SingleArm_noDAGs.feature

Feature: E.128.2200 - RepeatingEvents_SingleArm_noDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.2200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_SingleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_SingleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2200"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            | User3       |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2200"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should NOT see a link labeled exactly "Arm Two"
And I should see a link labeled exactly "2"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            | User3       | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2200"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            | User3       | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2200" 
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.2200” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.2200" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2300%20-%20NonRepeating_DoubleArm_withDAGs.feature

Feature: E.128.2300 - NonRepeating_DoubleArm_withDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.2300” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_DoubleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2300"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2300"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled "Arm Two"
And I should NOT see a link labeled exactly "2-1"
And I click on the link labeled "Arm 1"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2300"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2300" 
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.2300” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.2300" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2400%20-%20NonRepeating_DoubleArm_noDAGs.feature

Feature: E.128.2400 - NonRepeating_DoubleArm_noDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.2400” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_DoubleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_DoubleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2400"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2400"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled "Arm Two"
And I should see a link labeled exactly "2"
And I click on the link labeled "Arm 1"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2400"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2400" 
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.2400” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.2400" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2500%20-%20NonRepeating_SingleArm_withDAGs.feature

Feature: E.128.2500 - NonRepeating_SingleArm_withDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.2500” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_SingleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_SingleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2500"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2500"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled exactly "Arm Two"
And I should NOT see a link labeled exactly "2-1"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2500"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2500" 
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.2500” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.2500" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2600%20-%20NonRepeating_SingleArm_noDAGs.feature

Feature: E.128.2600 - NonRepeating_SingleArm_noDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.2600” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_SingleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_SingleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2600"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2600"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled exactly "Arm Two"
And I should see a link labeled exactly "2"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2600"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2600" 
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.2600” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.2600" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2700%20-%20RepeatingInstruments_DoubleArm_withDAGs.feature

Feature: E.128.2700 - RepeatingInstruments_DoubleArm_withDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.2700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_DoubleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2700"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2700"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled "Arm Two"
And I should NOT see a link labeled exactly "2-1"
And I click on the link labeled "Arm 1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2700"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2700" 
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.2700” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.2700" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2800%20-%20RepeatingInstruments_DoubleArm_noDAGs.feature

Feature: E.128.2800 - RepeatingInstruments_DoubleArm_noDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.2800” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_DoubleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_DoubleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2800"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2800"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled "Arm Two"
And I should see a link labeled exactly "2"
And I click on the link labeled "Arm 1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2800"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2800" 
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.2800” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.2800" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.2900%20-%20RepeatingInstruments_SingleArm_withDAGs.feature

Feature: E.128.2900 - RepeatingInstruments_SingleArm_withDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.2900” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_SingleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_SingleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled exactly "Arm Two"
And I should NOT see a link labeled exactly "2-1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2900"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.2900" 
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.2900” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.2900" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.3000%20-%20RepeatingInstruments_SingleArm_noDAGs.feature

Feature: E.128.3000 - RepeatingInstruments_SingleArm_noDAGs

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.3000” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_SingleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_SingleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3000"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3000"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled exactly "Arm Two"
And I should see a link labeled exactly "2"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3000"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3000" 
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.3000” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.3000" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.3100%20-%20NonLongitudinal_RepeatingInstruments_withDAGS.feature

Feature: E.128.3100 - NonLongitudinal_RepeatingInstruments_withDAGS

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.3100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_RepeatingInstruments_withDAGS.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_RepeatingInstruments_withDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.180
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3100"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click the repeating instrument bubble for the second instance
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3100"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should NOT see a link labeled exactly "1-1"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click the repeating instrument bubble for the second instance
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value updated as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3100"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click the repeating instrument bubble for the second instance
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value updated as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3100" 
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click the repeating instrument bubble for the second instance
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.3100” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.3100" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.3200%20-%20NonLongitudinal_RepeatingInstruments_noDAGS.feature

Feature: E.128.3200 - NonLongitudinal_RepeatingInstruments_noDAGS

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.3200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_RepeatingInstruments_noDAGS.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User2 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_RepeatingInstruments_noDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3200"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click the repeating instrument bubble for the second instance
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3200"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should see a link labeled exactly "1"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click the repeating instrument bubble for the second instance
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value correct as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3200"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click the repeating instrument bubble for the second instance
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value correct as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3200" 
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click the repeating instrument bubble for the second instance
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.3200” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.3200" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.3300%20-%20NonLongitudinal_NonRepeatingInstruments_withDAGS.feature

Feature: E.128.3300 - NonLongitudinal_NonRepeatingInstruments_withDAGS

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.3300” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_NonRepeatingInstruments_withDAGS.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_NonRepeatingInstruments_withDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3300"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click on the bubble
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3300"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should NOT see a link labeled exactly "1-1"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click on the bubble
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value correct as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3300"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click on the bubble
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value correct as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3300" 
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click on the bubble
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.3300” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.3300" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Monitoring%20QR_128/E.128.3400%20-%20NonLongitudinal_NonRepeatingInstruments_noDAGS.feature

Feature: E.128.3400 - NonLongitudinal_NonRepeatingInstruments_noDAGS

As a REDCap end user I want to see that Monitoring QR is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Monitoring QR - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Monitoring QR"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Monitoring QR - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.128.3400” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_NonRepeatingInstruments_noDAGS.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Monitoring QR - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Monitoring QR - v0.0.0” Then I should see “Monitoring QR - v0.0.0”

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

# Adding Test_User2 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_NonRepeatingInstruments_noDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# Configure external module in project
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I enter "_monstat" into the input field labeled "Provide the suffix used to identify the monitoring field on a form" in the dialog box
And I enter "@ENDPOINT-\w+" into the textarea field labeled "Provide the regex used to identify fields that should be monitored" in the dialog box
And I select "Monitor" on the dropdown field labeled "What role do monitors use?" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. What roles do data entry users use?" in the dialog box
And I select "DataManager" on the dropdown field labeled "What role do data managers use?" in the dialog box
Then I enter "4" into the input field labeled "Id of monitoring status field meaning 'Not required'" in the dialog box
And I enter "2" into the input field labeled "Id of monitoring status field meaning 'Requires verification'" in the dialog box
And I enter "3" into the input field labeled "Id of monitoring status field meaning 'Requires verification due to data change'" in the dialog box
And I enter "1" into the input field labeled "Id of monitoring status field meaning 'Verification complete'" in the dialog box
And I enter "5" into the input field labeled "Id of monitoring status field meaning 'Verification in progress'" in the dialog box
And I select "Always whenever any field is updated" on the dropdown field labeled "A form's monitoring status is automatically set to 'Requires verification due to data change'" in the dialog box
And I scroll to the field labeled "When the user visits the Resolve Issues page, handle monitor status fields by"
And I select "Hiding the button to interact with the query but leave the row in place" on the dropdown field labeled "When the user visits the Resolve Issues page, handle monitor status fields by" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Monitoring QR - v0.0.0"
And I logout

# E.128.1700, E.128.1800
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3400"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click on the bubble
Then I should see "Monitor query status: NONE"
And I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |

Then I enter "Query1" in the column "Query to raise" for the field "ptname"
And I enter "Query2" in the column "Query to raise" for the field "notesbox"
And I enter "Query3" in the column "Query to raise" for the field "checkbox"
When I click on the button labeled "Raise monitor query"
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment] | Reply | Query  |
  | ptname            |             |                          |       | Query1 |
  | notesbox          |             |                          |       | Query2 |
  | checkbox          | [ 0, 0, 0 ] |                          |       | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3400"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should see a link labeled exactly "1"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click on the bubble
Then I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query  |
  | ptname            |             | Query1 |
  | notesbox          |             | Query2 |
  | checkbox          | [ 0, 0, 0 ] | Query3 |

And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see "Showing queried fields only. Waiting for responses."
And I select "Value correct as per source" in the dropdown field in column "Response" for the field "ptname"
And I select "Value correct, error in source updated" in the dropdown field in column "Response" for the field "notesbox"
And I enter "Response1" in the column "Response" for the field "notesbox"
And I select "Missing data not done" in the dropdown field in column "Response" for the field "checkbox"
And I enter "Response2" in the column "Response" for the field "checkbox"
When I click on the button labeled "Send response"
Then I should NOT see the monitoring table
And I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I logout

Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3400"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click on the bubble
Then I should see the monitoring status "Verification in progress"
And I should see "Monitor query status: OPEN"
And I should see a table header and rows containing the following values in a table:
  | Field             | Field value | Query response [comment]                           |
  | ptname            |             | Value correct as per source                        |
  | notesbox          |             | Value correct, error in source updated [Response1] |
  | checkbox          | [ 0, 0, 0 ] | Missing data not done [Response2]                  |

When I click on the button labeled "Close as verified"
Then I should see the monitoring status "Verified"
And I should see "Monitor query status: CLOSED"
Then I should see a table header and rows containing the following values in a table:
  | Field                  | Flags                            | Query to raise |
  | data_types_crfver      | -- not flagged for monitoring -- |                |
  | ptname                 | @ENDPOINT-PRIMARY                |                |
  | notesbox               | -- not flagged for monitoring -- |                |
  | multiple_dropdown_auto | @ENDPOINT-SECONDARY              |                |
  | radio_button_manual    | @ENDPOINT-SECONDARY              |                |
  | checkbox                 | -- not flagged for monitoring -- |                |
  | file_upload            | -- not flagged for monitoring -- |                |
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.128.3400" 
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click on the bubble
Then I should see "Monitor query status: CLOSED"
And I should see the monitoring status "Verified"
And I should NOT see the monitoring table

# VERIFY - E.128.1500
# Field not flagged or queried previously
When I check the checkbox labeled "Checkbox"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the monitoring status "Requires verification due to data change"
And I should see "Monitor query status: CLOSED"
And I should NOT see the monitoring table
And I logout

Scenario: E.128.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.128.3400” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Monitoring QR - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Monitoring QR - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                      | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, monitoring-field-suffix, monitoring-flags-regex, monitoring-role, data-entry-roles, data-manager-role, monitoring-not-required-key, monitoring-requires-verification-key, monitoring-requires-verification-due-to-data-change-key, monitoring-field-verified-key, monitoring-verification-in-progress-key, trigger-requires-verification-for-change, monitoring-role-show-inline, data-entry-role-show-inline, data-manager-role-show-inline, monitors-only-query-flagged-fields, resolve-issues-behaviour, do-not-hide-save-and-cancel-buttons-for-non-data-entry, do-not-make-fields-readonly, include-field-label-in-inline-form |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Monitoring QR - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.128.3400" in the dialog box
And I close the dialog box for the external module "Monitoring QR"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Monitoring QR - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                       |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "monitoring_qr_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "monitoring_qr_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "monitoring_qr_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - monitoring_qr"

Comments:

Comment:

Author: rmh54 Updated on: 4/1/2025 2:26:06 PM

Comment body:

As discussed, this needs to be tested for each (or most or whatever is deemed appropriate) ‘flavour’ of project i.e. whether it is longitudinal, uses DAGs, arms or has repeating instruments

Comment:

Author: MintooXavier Updated on: 7/10/2025 2:31:34 PM

Comment body:

Added scripts for 16 project types


Timeline events:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:38:40 PM Label name: Automated Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:38:40 PM Label name: External Module Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:38:40 PM Label name: Gherkin Label description: Uses a Gherkin syntax

ASSIGNED | User: MintooXavier Created on: 3/18/2025 11:52:57 AM Assignee: MintooXavier

ISSUE COMMENT | User: rmh54 Created on: 4/1/2025 2:26:06 PM Issue comment body:

As discussed, this needs to be tested for each (or most or whatever is deemed appropriate) ‘flavour’ of project i.e. whether it is longitudinal, uses DAGs, arms or has repeating instruments

ISSUE COMMENT | User: MintooXavier Created on: 7/10/2025 2:31:34 PM Issue comment body:

Added scripts for 16 project types


————— feature ends —————



Feature: 127. Data Entry log

Id: I_kwDOIaOBn86ojb0l Uid: redcap_cypress-88
Author: MintooXavier Created: 2/3/2025 3:37:40 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/88
Milestone: |none| Labels: Gherkin || Automated || External Module

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 7/10/2025 2:22:18 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
The Data Entry log is designed to help users review and query data entered within a project. The existing Logging
feature provides limited help to Data managers who need to review recently entered data and may, for example, wish to
filter changes made to a form or field level.

This module simply accesses logs creating by the vanilla system and interrogates the log records sql statements. If
there are no logs (for instance in a project that has been imported from xml with data), the module will be of limited
use.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/127_data_entry_log.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.100%20-%20Data%20Entry%20Log%20Configurations.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.600%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.700%20-%20Data%20Entry%20Log%20in%20projects.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.800%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.900%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1000%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1100%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1400%20-%20RepeatingEvents_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1500%20-%20RepeatingEvents_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1600%20-%20RepeatingEvents_SingleArm_withDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1700%20-%20RepeatingEvents_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1800%20-%20NonRepeating_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1900%20-%20NonRepeating_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2000%20-%20NonRepeating_SingleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2100%20-%20NonRepeating_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2200%20-%20RepeatingInstruments_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2300%20-%20RepeatingInstruments_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2400%20-%20RepeatingInstruments_SingleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2500%20-%20RepeatingInstruments_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2600%20-%20NonLongitudinal_RepeatingInstruments_withDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2700%20-%20NonLongitudinal_RepeatingInstruments_noDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2800%20-%20NonLongitudinal_NonRepeatingInstruments_withDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2900%20-%20NonLongitudinal_NonRepeatingInstruments_noDAGS.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/127_data_entry_log.spec

E.127.100 - The system shall support the ability to enable/disable Data Entry Log external module.
E.127.200 - The system shall support the ability to enable Data Entry Log external module on all projects by default.
E.127.300 - The system shall support the ability to make Data Entry Log external module discoverable by users.
E.127.400 - The system shall support the ability to allow non-admins to enable Data Entry Log external module on projects.
E.127.500 - The system shall support the ability to hide Data Entry Log external module from non-admins in the list of enabled modules on each project.
E.127.600 - The system shall support the ability to view the usage of Data Entry Log external module.
E.127.700 - The system shall support the ability to set up and view logs using Data Entry Log module.
E.127.800 - The system shall support the ability to view Arm ID, Event ID and DAG ID when the corresponding options are enabled in Data Entry Log external module.
E.127.900 - The system shall support the ability to limit the maximum number of days for logs in Data Entry Log external module.
E.127.1000 - The system shall support the ability to exclude fields which match the regular expression from the logs in Data Entry Log external module.
E.127.1100 - The system shall allow only super-admins to configure the Data Entry Log external module.
E.127.1200 - The system shall support the ability to use Data Entry Log external module for different Arms.
E.127.1300 - The system shall support the ability to use Data Entry Log external module for Repeating Events/Instruments.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.100%20-%20Data%20Entry%20Log%20Configurations.feature

Feature: E.127.100 - The system shall support the ability to enable/disable Data Entry Log external module.

As a REDCap end user I want to see that Data Entry Log is functioning as expected

Scenario: E.127.100 - Enable external module - Default settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.127.100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I should NOT see a link labeled exactly "Manage"
And I logout

Scenario: E.127.200 - Enable module on all projects by default Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Data Entry Log - v0.0.0” And I should NOT see “Enabled for All Projects” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Enable module on all projects by default” And I click on the button labeled “Save” Then I should see “Data Entry Log - v0.0.0” And I should see “Enabled for All Projects” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.127.100.200" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Data Entry Log - v0.0.0"
And I should see "Enabled for All Projects"
And I logout

Scenario: E.127.300 - Make module discoverable by users Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Data Entry Log - v0.0.0” And I should see “Enabled for All Projects” And I should NOT see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Enable module on all projects by default” And I check the checkbox labeled “Make module discoverable by users” And I click on the button labeled “Save” Then I should see “Data Entry Log - v0.0.0” And I should NOT see “Enabled for All Projects” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.127.100.300" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Data Entry Log - v0.0.0"
And I should see "Discoverable"
And I should NOT see "Activation request is pending"
When I click on the button labeled Request Activation for the external module named "Data Entry Log"
Then I should see "SUCCESS! Your external module activation request has been sent to a REDCap administrator for review." in the dialog box
And I click on the button labeled "Close" in the dialog box
And I should NOT see "Data Entry Log - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Data Entry Log - v0.0.0"
And I should see "Discoverable"
And I should see "Activation request is pending"
And I logout

## Commenting this as HTML is not loading into iframe
## Hence this is done manually
# Given I login to REDCap with the user "Test_Admin"
# When I click on the link labeled "Control Center"
# Then I should see a link labeled "To-Do List"

# Given I click on the link labeled "To-Do List"
# Then I should see "Pending Requests"
# And I should see the "Activate external module" request created for the project named "E.127.100.300" within the Pending Requests table
# When I click on the process request icon for the "Activate external module" request created for the project named "E.127.100.300" within the Pending Requests table
# # HTML is not loading into iFrame
# Then I should see "Enable module 'Data Entry Log - '?" in the dialog box in the iframe
# And I click on the button labeled "Enable" in the dialog box in the iframe
# And I close the iframe window
# Then I should see the "Activate external module" request created for the project named "E.127.100.300" within the Completed & Archived Requests table
# And I logout

# Given I login to REDCap with the user "Test_User1"
# When I click on the link labeled "My Projects"
# And I click on the link labeled "E.127.100.300"
# And I click on the link labeled exactly "Manage"
# Then I should see "External Modules - Project Module Manager"
# And I should see "Data Entry Log - v0.0.0"
# And I should see "Discoverable"
# And I logout

Scenario: E.127.400 - Allow non-admins to enable this module on projects Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center”
And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Data Entry Log - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Allow non-admins to enable this module on projects” And I click on the button labeled “Save” Then I should see “Data Entry Log - v0.0.0” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.127.100.400" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Data Entry Log - v0.0.0"
And I should see "Discoverable"
And I click on the button labeled Enable for the external module named "Data Entry Log - v0.0.0"
Then I should see "Data Entry Log - v0.0.0"
And I logout

Scenario: E.127.500 - Hide this module from non-admins in the list of enabled modules on each project # Enable ‘Hide this module from non-admins in the list of enabled modules on each project’ Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Data Entry Log - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Make module discoverable by users” And I uncheck the checkbox labeled “Allow non-admins to enable this module on projects” And I check the checkbox labeled “Hide this module from non-admins in the list of enabled modules on each project” And I click on the button labeled “Save” Then I should see “Data Entry Log - v0.0.0” And I should NOT see “Discoverable”

When I create a new project named "E.127.100.500" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log - v0.0.0"
Then I should see "Data Entry Log - v0.0.0"

# Add User Test_User1 with Project Setup & Design User Rights
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I check the User Right named "Project Setup & Design"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.127.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Disable 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "Data Entry Log - v0.0.0"
When I click on the button labeled exactly "Configure"
And I uncheck the checkbox labeled "Hide this module from non-admins in the list of enabled modules on each project"
And I click on the button labeled "Save"
Then I should see "Data Entry Log - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.127.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Data Entry Log - v0.0.0"
And I logout

# Enable from project - 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.127.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
Then I should see "Data Entry Log - v0.0.0"
When I click on the button labeled exactly "Configure"
And I check the checkbox labeled "Hide this module from non-admins in the list of enabled modules on this project"
And I click on the button labeled "Save"
Then I should see "Data Entry Log - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.127.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
And I logout

Scenario: Module configuration permissions in projects # Enable - Require Project Setup/Design privilege Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Configure” Then I should see the dropdown field labeled “Module configuration permissions in projects” with the option “Require Project Setup/Design privilege” selected And I click on the button labeled “Save” Then I should see “Data Entry Log - v0.0.0”

When I create a new project named "E.127.100.600" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log - v0.0.0"
Then I should see "Data Entry Log - v0.0.0"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Data Entry Log" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Enable - Require module-specific user privilege
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should see "Data Entry Log - v0.0.0"
When I click on the button labeled exactly "Configure"
And I select "Require module-specific user privilege" on the dropdown field labeled "Module configuration permissions in projects"
And I click on the button labeled "Save"
Then I should see "Data Entry Log - v0.0.0"

When I click on the link labeled "My Projects"
And I click on the link labeled "E.127.100.600"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Data Entry Log" that is unchecked
And I check the checkbox labeled "Data Entry Log"
And I click on the button labeled "Add user"
Then I should see "successfully added"

Scenario: E.127.600 - View Usage of the external module When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Data Entry Log - v0.0.0” When I click on the button labeled “View Usage” Then I should see a link labeled “E.127.100.400” in the dialog box And I should see a link labeled “E.127.100.500” in the dialog box And I should see a link labeled “E.127.100.600” in the dialog box When I click on the link labeled “E.127.100.400” in the dialog box # # For Request Activation of project E.127.100.300 which doesn’t work in ATS. # # Can be checked manually # And I should see a link labeled “E.127.100.300” in the dialog box Then I should see “Project Home” And I should see “E.127.100.400” And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.200%20-%20REDUNDANT.feature

Feature: E.127.200 - The system shall support the ability to enable Data Entry Log external module on all projects by default.

This feature test is REDUNDANT and can be viewed in E.127.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.300%20-%20REDUNDANT.feature

Feature: E.127.300 - The system shall support the ability to make Data Entry Log external module discoverable by users.

This feature test is REDUNDANT and can be viewed in E.127.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.400%20-%20REDUNDANT.feature

Feature: E.127.400 - The system shall support the ability to allow non-admins to enable Data Entry Log external module on projects.

This feature test is REDUNDANT and can be viewed in E.127.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.500%20-%20REDUNDANT.feature

Feature: E.127.500 - The system shall support the ability to hide Data Entry Log external module from non-admins in the list of enabled modules on each project.

This feature test is REDUNDANT and can be viewed in E.127.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.600%20-%20REDUNDANT.feature

Feature: E.127.600 - The system shall support the ability to view the usage of Data Entry Log external module.

This feature test is REDUNDANT and can be viewed in E.127.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.700%20-%20Data%20Entry%20Log%20in%20projects.feature

Feature: E.127.700 - The system shall support the ability to set up and view logs using Data Entry Log module.

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val_nodata.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Project Setup & Design"
And I check the User Right named "Logging"
Then I should see a checkbox labeled "Data Entry Log" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
 
# Assign Test_User1 to DAG1
Given I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "DAG1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |

# Assign Test_User2 to DAG2
Given I click on the link labeled "DAGs"
When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
And I select "DAG2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |
  | DAG2               | test_user2 (Test User2) |

And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Instruments in Arm 1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.700” Then I should see “Project Home and Design” When I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” # E.127.1100 - Only Super-admins can configure external Module in project And I should NOT see the button labeled “Disable” And I click on the button labeled “Configure” Then I should see “Configure Module” in the dialog box And I should NOT see “Hide this module from non-admins in the list of enabled modules on this project” in the dialog box And I should NOT see “The maximum number of days permitted when not limiting the records being queried. Limit to improve performance” in the dialog box And I should NOT see “When given, any fields matching the given regex will always be excluded from the list of data entry logs” in the dialog box And I should NOT see “If checked, event names are suffixed with the event ID” in the dialog box And I should NOT see “If checked, arm names are suffixed with the arm ID” in the dialog box And I should NOT see “If checked, DAG names are suffixed with the DAG ID” in the dialog box Then I click on the button labeled “Cancel” in the dialog box

When I click on the link labeled "Data Entry Log"
Then I should see "No log entries found"

Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 2"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser1@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Group | Arm   | Instance | Form            | Field and Label                         | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | email_v2 [Email]                        | testuser1@abc.com   | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | text_validation_complete [Complete?]    | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Repeating Instruments - Instance 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I click on the link labeled "1-2"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I select "Choice1" on the radio field labeled "Radio Button Auto"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Instruments - Instance 2
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1-2"
And I should see "Data Types"
And I should see "(Instance #2)"
And I check the checkbox labeled "Checkbox"
And I check the checkbox labeled "Checkbox2"
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Instruments - Instance 3
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1-2"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "Notes" into the data entry form field labeled "Note Box"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Event   | Arm   | Instance | Form            | Field and Label                                        | New Value         | Action        |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 | 3        | data_types        | data_types_crfver [CRF Versioning]                     | 1                 | Update record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 | 3        | data_types        | ptname [Name]                                          | Test User1        | Update record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 | 3        | data_types        | notesbox [Notes Box]                                   | Notes             | Update record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 | 3        | data_types        | file_upload [File Upload]                              | 2                 | Update record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 | 3        | data_types        | data_types_complete [Complete?]                          | 0                 | Update record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 | 2        | data_types        | data_types_crfver [CRF Versioning]                     | 1                 | Update record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 | 2        | data_types        | ptname [Name]                                          | Test User1        | Update record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 | 2        | data_types        | checkbox [Checkbox]                                      | item[1] checked   | Update record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 | 2        | data_types        | checkbox [Checkbox]                                      | item[2] checked   | Update record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 | 2        | data_types        | data_types_complete [Complete?]                          | 0                 | Update record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 |          | data_types        | data_types_crfver [CRF Versioning]                     | 1                 | Create record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 |          | data_types        | ptname [Name]                                          | Test User1        | Create record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 |          | data_types        | radio_button_auto [Radio Button Auto]                  | 1                 | Create record |
  | test_user1 | 1-2       | DAG1  | Event 1 | Arm 1 |          | data_types        | data_types_complete [Complete?]                          | 2                 | Create record |
  | test_user1 | 1-1       | DAG1  | Event 2 | Arm 1 |          | text_validation | text_validation_crfver [CRF Versioning]                | 1                 | Create record |
  | test_user1 | 1-1       | DAG1  | Event 2 | Arm 1 |          | text_validation | email_v2 [Email]                                         | testuser1@abc.com | Create record |
  | test_user1 | 1-1       | DAG1  | Event 2 | Arm 1 |          | text_validation | text_validation_complete [Complete?]                   | 0                 | Create record |

And I should see 17 rows in the data entry log table

# Download
Given I select "Event 1 [40]" on the dropdown field labeled "Event"
And I select "10" on the dropdown field labeled "Page size"
When I click on the button labeled "Export current page"
Then the downloaded CSV with filename "E127700_DataEntryLog_yyyy-mm-dd_hhmm.csv" has the header and rows below
  | user name  | record | group id | group name |event id    | event name | arm number | arm name | instance | form name       | field                    | field label       | value             | reason for change | action        |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types      | data_types_crfver        | CRF Versioning    | 1                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | ptname                   | Name              | Test User1        |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | notesbox                 | Notes Box         | Notes             |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | file_upload              | File Upload       | 2                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | data_types_complete      | Complete?         | 0                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | data_types_crfver        | CRF Versioning    | 1                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | ptname                   | Name              | Test User1        |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | checkbox                 | Checkbox          | item[1] checked   |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | checkbox                 | Checkbox          | item[2] checked   |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | data_types_complete      | Complete?         | 0                 |                   | Update record |

When I click on the button labeled "Export all pages"
Then the downloaded CSV with filename "E127700_DataEntryLog_yyyy-mm-dd_hhmm.csv" has the header and rows below
  | user name  | record | group id | group name |event id    | event name | arm number | arm name | instance | form name       | field                    | field label       | value             | reason for change | action        |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types      | data_types_crfver        | CRF Versioning    | 1                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | ptname                   | Name              | Test User1        |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | notesbox                 | Notes Box         | Notes             |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | file_upload              | File Upload       | 2                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | data_types_complete      | Complete?         | 0                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | data_types_crfver        | CRF Versioning    | 1                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | ptname                   | Name              | Test User1        |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | checkbox                 | Checkbox          | item[1] checked   |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | checkbox                 | Checkbox          | item[2] checked   |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | data_types_complete      | Complete?         | 0                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    |          | data_types        | data_types_crfver        | CRF Versioning    | 1                 |                   | Create record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    |          | data_types        | ptname                   | Name              | Test User1        |                   | Create record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    |          | data_types        | radio_button_auto        | Radio Button Auto | 1                 |                   | Create record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    |          | data_types        | data_types_complete      | Complete?         | 2                 |                   | Create record |

When I click on the button labeled "Export everything ignoring filters"
Then the downloaded CSV with filename "E127700_DataEntryLog_yyyy-mm-dd_hhmm.csv" has the header and rows below
  | user name  | record | group id | group name |event id    | event name | arm number | arm name | instance | form name       | field                    | field label       | value             | reason for change | action        |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types      | data_types_crfver        | CRF Versioning    | 1                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | ptname                   | Name              | Test User1        |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | notesbox                 | Notes Box         | Notes             |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | file_upload              | File Upload       | 2                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 3        | data_types        | data_types_complete      | Complete?         | 0                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | data_types_crfver        | CRF Versioning    | 1                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | ptname                   | Name              | Test User1        |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | checkbox                 | Checkbox          | item[1] checked   |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | checkbox                 | Checkbox          | item[2] checked   |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    | 2        | data_types        | data_types_complete      | Complete?         | 0                 |                   | Update record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    |          | data_types        | data_types_crfver        | CRF Versioning    | 1                 |                   | Create record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    |          | data_types        | ptname                   | Name              | Test User1        |                   | Create record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    |          | data_types        | radio_button_auto        | Radio Button Auto | 1                 |                   | Create record |
  | test_user1 | 1-2    | 1        | DAG1       | 40         | Event 1    |            | Arm 1    |          | data_types        | data_types_complete      | Complete?         | 2                 |                   | Create record |
  | test_user1 | 1-1    | 1        | DAG1       | 41         | Event 2    |            | Arm 1    |          | text_validation | text_validation_crfver   | CRF Versioning    | 1                 |                   | Create record |
  | test_user1 | 1-1    | 1        | DAG1       | 41         | Event 2    |            | Arm 1    |          | text_validation | email_v2                 | Email             | testuser1@abc.com |                   |  Create record |
  | test_user1 | 1-1    | 1        | DAG1       | 41         | Event 2    |            | Arm 1    |          | text_validation | text_validation_complete | Complete?         | 0                 |                   | Create record |

# Filter by form
Given I select "Any event" on the dropdown field labeled "Event"
And I select "25" on the dropdown field labeled "Page size"
When I select "text_validation" on the dropdown field labeled "Form"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Event   | Arm   | Instance | Form            | Field and Label                         | New Value         | Action        |
  | test_user1 | 1-1       | DAG1  | Event 2 | Arm 1 |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Create record |
  | test_user1 | 1-1       | DAG1  | Event 2 | Arm 1 |          | text_validation | email_v2 [Email]                          | testuser1@abc.com | Create record |
  | test_user1 | 1-1       | DAG1  | Event 2 | Arm 1 |          | text_validation | text_validation_complete [Complete?]    | 0                 | Create record |

And I should see 3 rows in the data entry log table
And I should NOT see "data_types"

# Filter by form and field
When I enter "Email" into the input field labeled "Field name / Label"
And I click on the button labeled "Custom range"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Event   | Arm   | Instance | Form            | Field and Label   | New Value         | Action        |
  | test_user1 | 1-1       | DAG1  | Event 2 | Arm 1 |          | text_validation | email_v2 [Email]  | testuser1@abc.com | Create record |

And I should see 1 row in the data entry log table
And I should NOT see "text_validation_crfver"
And I should NOT see "text_validation_complete"
And I should NOT see "data_types"

When I click on the button labeled "Past year"
Then I should see "The request was not run - choose all records and max window of 31 days or choose a record and any time window"
And I should see "No log entries found"
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Events in Arm 2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.700” # Repeating Events - Instance 1 Given I click on the link labeled “Record Status Dashboard” And I click on the tab labeled “Arm 2” And I click on the button labeled “Add new record for this arm” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 2-1” And I should see “Data Types” When I clear field and enter “User 2” into the data entry form field labeled “Name” Then I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Repeating Events - Instance 2
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "Editing existing Record ID 2-1"
And I should see "Data Types"
And I should see "(Instance #2)"
When I select "Choice99" on the radio field labeled "Radio Button Manual"
And I enter "2001" into the data entry form field labeled "Required"
Then I click on the button labeled "Save & Exit Form"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Event   | Arm     | Instance | Form       | Field and Label                           | New Value       | Action        |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 2        | data_types | data_types_crfver [CRF Versioning]        | 1               | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 2        | data_types | ptname [Name]                             | Test User1      | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 2        | data_types | data_types_complete [Complete?]             | 0               | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 2        | data_types | radio_button_manual [Radio Button Manual] | 9..9            | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 2        | data_types | required [Required]                       | 2001            | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types | data_types_complete [Complete?]             | 1               | Create record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types | ptname [Name]                             | User 2          | Create record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types | data_types_complete [Complete?]             | 0               | Create record |

And I should see 8 rows in the data entry log table
And I should NOT see "test_user1"
And I should NOT see "DAG1 [1]"
And I should NOT see a link labeled exactly "Manage"

When I select "Create record" on the dropdown field labeled "Action"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Event   | Arm     | Instance | Form       | Field and Label                           | New Value       | Action        |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types | data_types_complete [Complete?]             | 1               | Create record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types | ptname [Name]                             | User 2          | Create record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types | data_types_complete [Complete?]             | 0               | Create record |

And I should see 3 rows in the data entry log table
And I should NOT see "Update record"
And I logout

#E.127.1100 - Only Super-admins can configure external Module in project
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.127.700"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
# E.127.800, E.127.900,E.127.1000
Then I should see "Configure Module"
When I enter "10" into the input field labeled "The maximum number of days permitted when not limiting the records being queried"
And I enter "Complete?" into the textarea field labeled "When given, any fields matching the given regex will always be excluded from the list of data entry logs"
And I check the checkbox labeled "If checked, event names are suffixed with the event ID"
And I check the checkbox labeled "If checked, arm names are suffixed with the arm ID"
And I check the checkbox labeled "If checked, DAG names are suffixed with the DAG ID"
And I click on the button labeled "Save" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

# Filtering
When I click on the link labeled "Data Entry Log"
#VERIFY E.127.1000
Then I should NOT see "Complete?"
#VERIFY E.127.800
And I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group     | Event        | Arm         | Instance | Form            | Field and Label                                        | New Value         | Action        |
  | test_user1 | 1-2       | DAG1 [1]  | Event 1 [40] | Arm 1 [1]   | 3        | data_types      | data_types_crfver [CRF Versioning]                     | 1                 | Update record |
  | test_user1 | 1-2       | DAG1 [1]  | Event 1 [40] | Arm 1 [1]   | 3        | data_types      | ptname [Name]                                            | Test User1        | Update record |
  | test_user1 | 1-2       | DAG1 [1]  | Event 1 [40] | Arm 1 [1]   | 3        | data_types      | notesbox [Notes Box]                                   | Notes             | Update record |
  | test_user1 | 1-2       | DAG1 [1]  | Event 1 [40] | Arm 1 [1]   | 3        | data_types      | file_upload [File Upload]                              | 2                 | Update record |
  | test_user1 | 1-2       | DAG1 [1]  | Event 1 [40] | Arm 1 [1]   | 2        | data_types      | data_types_crfver [CRF Versioning]                     | 1                 | Update record |
  | test_user1 | 1-2       | DAG1 [1]  | Event 1 [40] | Arm 1 [1]   | 2        | data_types      | ptname [Name]                                            | Test User1        | Update record |
  | test_user1 | 1-2       | DAG1 [1]  | Event 1 [40] | Arm 1 [1]   | 2        | data_types      | checkbox [Checkbox]                                    | item[1] checked   | Update record |
  | test_user1 | 1-2       | DAG1 [1]  | Event 1 [40] | Arm 1 [1]   | 2        | data_types      | checkbox [Checkbox]                                      | item[2] checked   | Update record |
  | test_user1 | 1-2       | DAG1 [1]  | Event 1 [40] | Arm 1 [1]   |          | data_types      | data_types_crfver [CRF Versioning]                     | 1                 | Create record |
  | test_user1 | 1-2       | DAG1 [1]  | Event 1 [40] | Arm 1 [1]   |          | data_types      | ptname [Name]                                            | Test User1        | Create record |
  | test_user1 | 1-2       | DAG1 [1]  | Event 1 [40] | Arm 1 [1]   |          | data_types      | radio_button_auto [Radio Button Auto]                  | 1                 | Create record |
  | test_user1 | 1-1       | DAG1 [1]  | Event 2 [41] | Arm 1 [1]   |          | text_validation | text_validation_crfver [CRF Versioning]                | 1                 | Create record |
  | test_user1 | 1-1       | DAG1 [1]  | Event 2 [41] | Arm 1 [1]   |          | text_validation | email_v2 [Email]                                       | testuser1@abc.com | Create record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types      | data_types_crfver [CRF Versioning]                     | 1                 | Update record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types      | ptname [Name]                                            | Test User1        | Update record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types      | radio_button_manual [Radio Button Manual]              | 9..9              | Update record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types      | required [Required]                                    | 2001              | Update record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] |          | data_types      | ptname [Name]                                          | User 2            | Create record |

And I should see 19 rows in the data entry log table

When I select "test_user2" on the dropdown field labeled "Username"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group     | Event        | Arm         | Instance | Form       | Field and Label                           | New Value       | Action        |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types | data_types_crfver [CRF Versioning]        | 1               | Update record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types | ptname [Name]                             | Test User1      | Update record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types | radio_button_manual [Radio Button Manual] | 9..9            | Update record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types | required [Required]                       | 2001            | Update record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] |          | data_types | data_types_crfver [CRF Versioning]        | 1               | Create record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] |          | data_types | ptname [Name]                             | User 2          | Create record |

And I should see 6 rows in the data entry log table

#VERIFY E.127.900
When I click on the button labeled "Past year"
Then I should see "The request was not run - choose all records and max window of 10 days or choose a record and any time window"
And I should see "No log entries found"

When I click on the link labeled "Data Entry Log"
And I select "Arm Two [2]" on the dropdown field labeled "Arm"
And I select "2" on the dropdown field labeled "Instance"
And I select "Event 1 [43]" on the dropdown field labeled "Event"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group     | Event        | Arm         | Instance | Form       | Field and Label                           | New Value       | Action        |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types | data_types_crfver [CRF Versioning]        | 1               | Update record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types | ptname [Name]                             | Test User1      | Update record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types | radio_button_manual [Radio Button Manual] | 9..9            | Update record |
  | test_user2 | 2-1       | DAG2 [2]  | Event 1 [43] | Arm Two [2] | 2        | data_types | required [Required]                       | 2001            | Update record |

And I should see 4 rows in the data entry log table
And I should NOT see "Arm 1"
And I should NOT see "Event 1 [40]"
And I should NOT see "Event 2 [41]"

Scenario: E.127.100 - Disable external module # Disable external module in project Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Date / Time      | Username   | Action                                                                       | List of Data Changes OR Fields Exported                                                                                                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "data_entry_log_v0.0.0" for project                  |                                                                                                                                                                                                     |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "data_entry_log_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, max-days-all-records, always-exclude-fields-with-regex, display-event-id-with-event-name, display-arm-id-with-arm-name, display-dag-id-with-dag-name |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "data_entry_log_v0.0.0" for project                   |                                                                                                                                                                                                     |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                        |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "data_entry_log_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "data_entry_log_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "data_entry_log_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "data_entry_log_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "data_entry_log_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.800%20-%20REDUNDANT.feature

Feature: E.127.800 - The system shall support the ability to view Arm ID, Event ID and DAG ID when the corresponding options are enabled in Data Entry Log external module.

This feature test is REDUNDANT and can be viewed in E.127.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.900%20-%20REDUNDANT.feature

Feature: E.127.900 - The system shall support the ability to limit the maximum number of days for logs in Data Entry Log external module.

This feature test is REDUNDANT and can be viewed in E.127.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1000%20-%20REDUNDANT.feature

Feature: E.127.1000 - The system shall support the ability to exclude fields which match the regular expression from the logs in Data Entry Log external module.

This feature test is REDUNDANT and can be viewed in E.127.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1100%20-%20REDUNDANT.feature

Feature: E.127.1100 - The system shall allow only super-admins to configure the Data Entry Log external module.

This feature test is REDUNDANT and can be viewed in E.127.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1200%20-%20REDUNDANT.feature

Feature: E.127.1200 - The system shall support the ability to use Data Entry Log external module for different Arms.

This feature test is REDUNDANT and can be viewed in E.127.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1300%20-%20REDUNDANT.feature

Feature: E.127.1300 - The system shall support the ability to use Data Entry Log external module for Repeating Events/Instruments.

This feature test is REDUNDANT and can be viewed in E.127.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1400%20-%20RepeatingEvents_DoubleArm_withDAGs.feature

Feature: E.127.1400 - RepeatingEvents_DoubleArm_withDAGs

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.1400” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
 
# Assign Test_User1 to DAG1
Given I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "DAG1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |

# Assign Test_User2 to DAG2
Given I click on the link labeled "DAGs"
When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
And I select "DAG2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |
  | DAG2               | test_user2 (Test User2) |

And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Events in Arm 1 DAG1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1400” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Repeating Events Arm 1- Instance 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser1@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Group | Arm   | Instance | Form            | Field and Label                         | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | email_v2 [Email]                        | testuser1@abc.com   | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | text_validation_complete [Complete?]    | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Repeating Events Arm 1 - Instance 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "1-1"
Then I should see "Record Home Page"
And I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
And I should see "(Instance #2)"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Events Arm 1 - Instance 3
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "Notes" into the data entry form field labeled "Note Box"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Arm   | Instance | Form            | Field and Label                                        | New Value         | Action        |
  | test_user1 | 1-1       | DAG1  | Arm 1 | 3        | data_types      | notesbox [Notes Box]                                   | Notes             | Update record |
  | test_user1 | 1-1       | DAG1  | Arm 1 | 3        | data_types      | file_upload [File Upload]                              | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  | Arm 1 | 3        | data_types      | data_types_complete [Complete?]                          | 0                 | Update record |
  | test_user1 | 1-1       | DAG1  | Arm 1 | 2        | data_types      | radio_button_manual [Radio Button Manual]              | 9..9              | Update record |
  | test_user1 | 1-1       | DAG1  | Arm 1 | 2        | data_types      | data_types_complete [Complete?]                          | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | text_validation_crfver [CRF Versioning]                | 1                 | Create record |
  | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | email_v2 [Email]                                       | testuser1@abc.com | Create record |
  | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | text_validation_complete [Complete?]                   | 0                 | Create record |

And I should see 8 rows in the data entry log table
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Events in Arm 2 DAG2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1400” # Repeating Events Arm 2 - Instance 1 Given I click on the link labeled “Record Status Dashboard” And I click on the tab labeled “Arm 2” And I click on the button labeled “Add new record for this arm” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 2-1” And I should see “Data Types” When I enter “User 2” into the data entry form field labeled “Name” And I check the checkbox labeled “Checkbox3” Then I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Repeating Events Arm 2 - Instance 2
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "Editing existing Record ID 2-1"
And I should see "Data Types"
And I should see "(Instance #2)"
When I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I click on the button labeled "Save & Exit Form"

# Repeating Events Arm 2 - Instance 3
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "(#3)"
Then I should see "Editing existing Record ID 2-1"
And I should see "Text Validation"
And I should see "(Instance #3)"
Then I enter "2" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser2@abc.com" into the data entry form field labeled "Email"
Then I click on the button labeled "Save & Exit Form"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Event   | Arm     | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 3        | text_validation | text_validation_crfver [CRF Versioning]   | 2                 | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 3        | text_validation | email_v2 [Email]                          | testuser2@abc.com | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 3        | text_validation | text_validation_complete [Complete?]      | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 2        | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 2        | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types      | ptname [Name]                             | User 2            | Create record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types      | data_types_complete [Complete?]             | 0                 | Create record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types      | checkbox [Checkbox]                       | item[3] checked   | Create record |

And I should see 8 rows in the data entry log table
And I should NOT see "test_user1"
And I should NOT see "DAG1"
And I logout  

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1400” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1500%20-%20RepeatingEvents_DoubleArm_noDAGs.feature

Feature: E.127.1500 - RepeatingEvents_DoubleArm_noDAGS

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.1500” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_DoubleArm_noDAGS.xml”, and clicking the “Create Project” button When I click on the link labeled “DAGs” Then I should NOT see “DAG1” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Events in Arm 1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1500” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Repeating Events Arm 1- Instance 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser1@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Arm   | Instance | Form            | Field and Label                         | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         | Arm 1 |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         | Arm 1 |          | text_validation | email_v2 [Email]                        | testuser1@abc.com   | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         | Arm 1 |          | text_validation | text_validation_complete [Complete?]    | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Repeating Events Arm 1 - Instance 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
Then I should see "Record Home Page"
And I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
And I should see "(Instance #2)"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Events Arm 1 - Instance 3
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "Notes" into the data entry form field labeled "Note Box"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Arm   | Instance | Form            | Field and Label                                        | New Value         | Action        |
  | test_user1 | 1         | Arm 1 | 3        | data_types      | notesbox [Notes Box]                                   | Notes             | Update record |
  | test_user1 | 1         | Arm 1 | 3        | data_types      | file_upload [File Upload]                              | 2                 | Update record |
  | test_user1 | 1         | Arm 1 | 3        | data_types      | data_types_complete [Complete?]                          | 0                 | Update record |
  | test_user1 | 1         | Arm 1 | 2        | data_types      | radio_button_manual [Radio Button Manual]              | 9..9              | Update record |
  | test_user1 | 1         | Arm 1 | 2        | data_types      | data_types_complete [Complete?]                          | 2                 | Update record |
  | test_user1 | 1         | Arm 1 |          | text_validation | text_validation_crfver [CRF Versioning]                | 1                 | Create record |
  | test_user1 | 1         | Arm 1 |          | text_validation | email_v2 [Email]                                       | testuser1@abc.com | Create record |
  | test_user1 | 1         | Arm 1 |          | text_validation | text_validation_complete [Complete?]                   | 0                 | Create record |

And I should see 8 rows in the data entry log table
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Events in Arm 2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1500” # Repeating Events Arm 2 - Instance 1 Given I click on the link labeled “Record Status Dashboard” And I click on the tab labeled “Arm 2” And I click on the button labeled “Add new record for this arm” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 2” And I should see “Data Types” When I enter “User 2” into the data entry form field labeled “Name” And I check the checkbox labeled “Checkbox3” Then I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Repeating Events Arm 2 - Instance 2
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "Editing existing Record ID 2"
And I should see "Data Types"
And I should see "(Instance #2)"
When I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I click on the button labeled "Save & Exit Form"

# Repeating Events Arm 2 - Instance 3
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "(#3)"
Then I should see "Editing existing Record ID 2"
And I should see "Text Validation"
And I should see "(Instance #3)"
Then I enter "2" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser2@abc.com" into the data entry form field labeled "Email"
Then I click on the button labeled "Save & Exit Form"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Event   | Arm     | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user2 | 2         | Event 1 | Arm Two | 3        | text_validation | text_validation_crfver [CRF Versioning]   | 2                 | Update record |
  | test_user2 | 2         | Event 1 | Arm Two | 3        | text_validation | email_v2 [Email]                          | testuser2@abc.com | Update record |
  | test_user2 | 2         | Event 1 | Arm Two | 3        | text_validation | text_validation_complete [Complete?]      | 0                 | Update record |
  | test_user2 | 2         | Event 1 | Arm Two | 2        | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user2 | 2         | Event 1 | Arm Two | 2        | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user2 | 2         | Event 1 | Arm Two |          | data_types      | ptname [Name]                             | User 2            | Create record |
  | test_user2 | 2         | Event 1 | Arm Two |          | data_types      | data_types_complete [Complete?]             | 0                 | Create record |
  | test_user2 | 2         | Event 1 | Arm Two |          | data_types      | checkbox [Checkbox]                       | item[3] checked   | Create record |
  | test_user1 | 1         | Event 1 | Arm 1   | 3        | data_types      | notesbox [Notes Box]                      | Notes             | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   | 3        | data_types      | file_upload [File Upload]                 | 2                 | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   | 3        | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   | 2        | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   | 2        | data_types      | data_types_complete [Complete?]             | 2                 | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   |          | text_validation | text_validation_crfver [CRF Versioning]   | 1                 | Create record |
  | test_user1 | 1         | Event 1 | Arm 1   |          | text_validation | email_v2 [Email]                          | testuser1@abc.com | Create record |
  | test_user1 | 1         | Event 1 | Arm 1   |          | text_validation | text_validation_complete [Complete?]      | 0                 | Create record |

And I should see 16 rows in the data entry log table
And I logout  

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1500” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1600%20-%20RepeatingEvents_SingleArm_withDAGS.feature

Feature: E.127.1600 - RepeatingEvents_SingleArm_withDAGS

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.1600” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_SingleArm_withDAGS.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
 
# Assign Test_User1 to DAG1
Given I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "DAG1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |

# Assign Test_User2 to DAG2
Given I click on the link labeled "DAGs"
When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
And I select "DAG2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |
  | DAG2               | test_user2 (Test User2) |

And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Events in Arm 1 DAG1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1600” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Repeating Events Arm 1- Instance 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser1@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Group | Instance | Form            | Field and Label                         | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | text_validation | email_v2 [Email]                        | testuser1@abc.com   | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | text_validation | text_validation_complete [Complete?]    | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Repeating Events Arm 1 - Instance 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "1-1"
Then I should see "Record Home Page"
And I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
And I should see "(Instance #2)"
When I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Events Arm 1 - Instance 3
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "Notes" into the data entry form field labeled "Note Box"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Instance | Form            | Field and Label                                        | New Value         | Action        |
  | test_user1 | 1-1       | DAG1  | 3        | data_types      | notesbox [Notes Box]                                   | Notes             | Update record |
  | test_user1 | 1-1       | DAG1  | 3        | data_types      | file_upload [File Upload]                              | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  | 3        | data_types      | data_types_complete [Complete?]                          | 0                 | Update record |
  | test_user1 | 1-1       | DAG1  | 2        | data_types      | radio_button_manual [Radio Button Manual]              | 9..9              | Update record |
  | test_user1 | 1-1       | DAG1  | 2        | data_types      | data_types_complete [Complete?]                          | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  |          | text_validation | text_validation_crfver [CRF Versioning]                | 1                 | Create record |
  | test_user1 | 1-1       | DAG1  |          | text_validation | email_v2 [Email]                                       | testuser1@abc.com | Create record |
  | test_user1 | 1-1       | DAG1  |          | text_validation | text_validation_complete [Complete?]                   | 0                 | Create record |

And I should see 8 rows in the data entry log table
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Events in Arm 1 DAG2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1600” # Repeating Events Arm 1 - Instance 1 Given I click on the link labeled “Record Status Dashboard” And I click on the button labeled “Add new record” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 2-1” And I should see “Data Types” When I enter “User 2” into the data entry form field labeled “Name” And I check the checkbox labeled “Checkbox3” Then I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Repeating Events Arm 1 - Instance 2
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "Editing existing Record ID 2-1"
And I should see "Data Types"
And I should see "(Instance #2)"
When I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I click on the button labeled "Save & Exit Form"

# Repeating Events Arm 1 - Instance 3
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "(#3)"
Then I should see "Editing existing Record ID 2-1"
And I should see "Text Validation"
And I should see "(Instance #3)"
Then I enter "2" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser2@abc.com" into the data entry form field labeled "Email"
Then I click on the button labeled "Save & Exit Form"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user2 | 2-1       | DAG2  | 3        | text_validation | text_validation_crfver [CRF Versioning]   | 2                 | Update record |
  | test_user2 | 2-1       | DAG2  | 3        | text_validation | email_v2 [Email]                          | testuser2@abc.com | Update record |
  | test_user2 | 2-1       | DAG2  | 3        | text_validation | text_validation_complete [Complete?]      | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  | 2        | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  | 2        | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user2 | 2-1       | DAG2  |          | data_types      | ptname [Name]                             | User 2            | Create record |
  | test_user2 | 2-1       | DAG2  |          | data_types      | data_types_complete [Complete?]             | 0                 | Create record |
  | test_user2 | 2-1       | DAG2  |          | data_types      | checkbox [Checkbox]                       | item[3] checked   | Create record |

And I should see 8 rows in the data entry log table
And I should NOT see "test_user1"
And I should NOT see "DAG1"
And I logout  

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1600” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1700%20-%20RepeatingEvents_SingleArm_noDAGs.feature

Feature: E.127.1700 - RepeatingEvents_SingleArm_noDAGs

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.1700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_SingleArm_noDAGs.xml”, and clicking the “Create Project” button When I click on the link labeled “DAGs” Then I should NOT see “DAG1” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Events in Arm 1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1700” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Repeating Events Arm 1- Instance 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser1@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Instance | Form            | Field and Label                         | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | text_validation | email_v2 [Email]                        | testuser1@abc.com   | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | text_validation | text_validation_complete [Complete?]    | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Repeating Events Arm 1 - Instance 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
Then I should see "Record Home Page"
And I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
And I should see "(Instance #2)"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Events Arm 1 - Instance 3
Given I click on the button labeled "Add new"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "Notes" into the data entry form field labeled "Note Box"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Instance | Form            | Field and Label                                        | New Value         | Action        |
  | test_user1 | 1         | 3        | data_types      | notesbox [Notes Box]                                   | Notes             | Update record |
  | test_user1 | 1         | 3        | data_types      | file_upload [File Upload]                              | 2                 | Update record |
  | test_user1 | 1         | 3        | data_types      | data_types_complete [Complete?]                          | 0                 | Update record |
  | test_user1 | 1         | 2        | data_types      | radio_button_manual [Radio Button Manual]              | 9..9              | Update record |
  | test_user1 | 1         | 2        | data_types      | data_types_complete [Complete?]                          | 2                 | Update record |
  | test_user1 | 1         |          | text_validation | text_validation_crfver [CRF Versioning]                | 1                 | Create record |
  | test_user1 | 1         |          | text_validation | email_v2 [Email]                                       | testuser1@abc.com | Create record |
  | test_user1 | 1         |          | text_validation | text_validation_complete [Complete?]                   | 0                 | Create record |

And I should see 8 rows in the data entry log table
And I logout

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1700” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1800%20-%20NonRepeating_DoubleArm_withDAGs.feature

Feature: E.127.1800 - NonRepeating_DoubleArm_withDAGs

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.1800” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
 
# Assign Test_User1 to DAG1
Given I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "DAG1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |

# Assign Test_User2 to DAG2
Given I click on the link labeled "DAGs"
When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
And I select "DAG2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |
  | DAG2               | test_user2 (Test User2) |

And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Arm 1 DAG1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1800” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser1@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Group | Arm   | Instance | Form            | Field and Label                         | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | email_v2 [Email]                        | testuser1@abc.com   | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | text_validation | text_validation_complete [Complete?]    | 0                 | Create record |

And I should see 3 rows in the data entry log table

Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "1-1"
Then I should see "Record Home Page"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Event   | Arm   | Instance | Form            | Field and Label                                        | New Value         | Action        |
  | test_user1 | 1-1       | DAG1  | Event 2 | Arm 1 |          | data_types        | radio_button_manual [Radio Button Manual]              | 9..9              | Update record |
  | test_user1 | 1-1       | DAG1  | Event 2 | Arm 1 |          | data_types        | data_types_complete [Complete?]                          | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  | Event 1 | Arm 1 |          | text_validation | text_validation_crfver [CRF Versioning]                | 1                 | Create record |
  | test_user1 | 1-1       | DAG1  | Event 1 | Arm 1 |          | text_validation | email_v2 [Email]                                         | testuser1@abc.com | Create record |
  | test_user1 | 1-1       | DAG1  | Event 1 | Arm 1 |          | text_validation | text_validation_complete [Complete?]                   | 0                 | Create record |

And I should see 5 rows in the data entry log table
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Arm 2 DAG2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1800” Given I click on the link labeled “Record Status Dashboard” And I click on the tab labeled “Arm 2” And I click on the button labeled “Add new record for this arm” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 2-1” And I should see “Data Types” When I enter “User 2” into the data entry form field labeled “Name” And I check the checkbox labeled “Checkbox3” Then I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

Given I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Editing existing Record ID 2-1"
And I should see "Data Types"
When I select "Choice99" on the radio field labeled "Radio Button Manual"
And I clear field and enter "4" into the data entry form field labeled "CRF Versioning"
Then I click on the button labeled "Save & Exit Form"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Event   | Arm     | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user2 | 2-1       | DAG2  | Event 2 | Arm Two |          | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  | Event 2 | Arm Two |          | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user2 | 2-1       | DAG2  | Event 2 | Arm Two |          | data_types      | data_types_crfver [CRF Versioning]        | 4                 | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types      | ptname [Name]                             | User 2            | Create record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types      | data_types_complete [Complete?]             | 0                 | Create record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | data_types      | checkbox [Checkbox]                       | item[3] checked   | Create record |

And I should see 6 rows in the data entry log table
And I should NOT see "test_user1"
And I should NOT see "DAG1"
And I logout  

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1800” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.1900%20-%20NonRepeating_DoubleArm_noDAGs.feature

Feature: E.127.1900 - NonRepeating_DoubleArm_noDAGs

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.1900” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_DoubleArm_noDAGs.xml”, and clicking the “Create Project” button When I click on the link labeled “DAGs” Then I should NOT see “DAG1” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Arm 1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1900” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser1@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Arm   | Instance | Form            | Field and Label                         | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         | Arm 1 |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         | Arm 1 |          | text_validation | email_v2 [Email]                        | testuser1@abc.com   | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         | Arm 1 |          | text_validation | text_validation_complete [Complete?]    | 0                 | Create record |

And I should see 3 rows in the data entry log table

Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
Then I should see "Record Home Page"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Event   | Arm   | Instance | Form            | Field and Label                                        | New Value         | Action        |
  | test_user1 | 1         | Event 2 | Arm 1 |          | data_types        | radio_button_manual [Radio Button Manual]              | 9..9              | Update record |
  | test_user1 | 1         | Event 2 | Arm 1 |          | data_types        | data_types_complete [Complete?]                          | 2                 | Update record |
  | test_user1 | 1         | Event 1 | Arm 1 |          | text_validation | text_validation_crfver [CRF Versioning]                | 1                 | Create record |
  | test_user1 | 1         | Event 1 | Arm 1 |          | text_validation | email_v2 [Email]                                         | testuser1@abc.com | Create record |
  | test_user1 | 1         | Event 1 | Arm 1 |          | text_validation | text_validation_complete [Complete?]                   | 0                 | Create record |

And I should see 5 rows in the data entry log table
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Arm 2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1900” Given I click on the link labeled “Record Status Dashboard” And I click on the tab labeled “Arm 2” And I click on the button labeled “Add new record for this arm” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 2” And I should see “Data Types” When I enter “User 2” into the data entry form field labeled “Name” And I check the checkbox labeled “Checkbox3” Then I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

Given I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Editing existing Record ID 2"
And I should see "Data Types"
When I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I enter "2" into the data entry form field labeled "CRF Versioning"
Then I click on the button labeled "Save & Exit Form"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Event   | Arm     | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user2 | 2         | Event 2 | Arm Two |          | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user2 | 2         | Event 2 | Arm Two |          | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user2 | 2         | Event 2 | Arm Two |          | data_types      | data_types_crfver [CRF Versioning]        | 2                 | Update record |
  | test_user2 | 2         | Event 1 | Arm Two |          | data_types      | ptname [Name]                             | User 2            | Create record |
  | test_user2 | 2         | Event 1 | Arm Two |          | data_types      | data_types_complete [Complete?]             | 0                 | Create record |
  | test_user2 | 2         | Event 1 | Arm Two |          | data_types      | checkbox [Checkbox]                       | item[3] checked   | Create record |
  | test_user1 | 1         | Event 2 | Arm 1   |          | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user1 | 1         | Event 2 | Arm 1   |          | data_types      | data_types_complete [Complete?]             | 2                 | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   |          | text_validation | text_validation_crfver [CRF Versioning]   | 1                 | Create record |
  | test_user1 | 1         | Event 1 | Arm 1   |          | text_validation | email_v2 [Email]                          | testuser1@abc.com | Create record |
  | test_user1 | 1         | Event 1 | Arm 1   |          | text_validation | text_validation_complete [Complete?]      | 0                 | Create record |

And I should see 11 rows in the data entry log table
And I logout  

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.1900” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2000%20-%20NonRepeating_SingleArm_withDAGs.feature

Feature: E.127.2000 - NonRepeating_SingleArm_withDAGs

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.2000” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_SingleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
 
# Assign Test_User1 to DAG1
Given I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "DAG1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |

# Assign Test_User2 to DAG2
Given I click on the link labeled "DAGs"
When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
And I select "DAG2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |
  | DAG2               | test_user2 (Test User2) |

And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Arm 1 DAG1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2000” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser1@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Group | Instance | Form            | Field and Label                         | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | text_validation | email_v2 [Email]                        | testuser1@abc.com   | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | text_validation | text_validation_complete [Complete?]    | 0                 | Create record |

And I should see 3 rows in the data entry log table

Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "1-1"
Then I should see "Record Home Page"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Event   | Instance | Form            | Field and Label                                        | New Value         | Action        |
  | test_user1 | 1-1       | DAG1  | Event 2 |          | data_types        | radio_button_manual [Radio Button Manual]              | 9..9              | Update record |
  | test_user1 | 1-1       | DAG1  | Event 2 |          | data_types        | data_types_complete [Complete?]                          | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  | Event 1 |          | text_validation | text_validation_crfver [CRF Versioning]                | 1                 | Create record |
  | test_user1 | 1-1       | DAG1  | Event 1 |          | text_validation | email_v2 [Email]                                         | testuser1@abc.com | Create record |
  | test_user1 | 1-1       | DAG1  | Event 1 |          | text_validation | text_validation_complete [Complete?]                   | 0                 | Create record |

And I should see 5 rows in the data entry log table
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Arm 1 DAG2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2000” Given I click on the link labeled “Record Status Dashboard” And I click on the button labeled “Add new record” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 2-1” And I should see “Data Types” When I enter “User 2” into the data entry form field labeled “Name” And I check the checkbox labeled “Checkbox3” Then I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

Given I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Editing existing Record ID 2-1"
And I should see "Data Types"
When I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I enter "2" into the data entry form field labeled "CRF Versioning"
Then I click on the button labeled "Save & Exit Form"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Event   | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user2 | 2-1       | DAG2  | Event 2 |          | data_types      | data_types_complete [Complete?]           | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  | Event 2 |          | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user2 | 2-1       | DAG2  | Event 2 |          | data_types      | data_types_crfver [CRF Versioning]        | 2                 | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 |          | data_types      | ptname [Name]                             | User 2            | Create record |
  | test_user2 | 2-1       | DAG2  | Event 1 |          | data_types      | data_types_complete [Complete?]           | 0                 | Create record |
  | test_user2 | 2-1       | DAG2  | Event 1 |          | data_types      | checkbox [Checkbox]                       | item[3] checked   | Create record |

And I should see 6 rows in the data entry log table
And I should NOT see "test_user1"
And I should NOT see "DAG1"
And I logout

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2000” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2100%20-%20NonRepeating_SingleArm_noDAGs.feature

Feature: E.127.2100 - NonRepeating_SingleArm_noDAGs

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.2100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_SingleArm_noDAGs.xml”, and clicking the “Create Project” button When I click on the link labeled “DAGs” Then I should NOT see “DAG1” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Arm 1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2100” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser1@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Instance | Form            | Field and Label                         | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | text_validation | email_v2 [Email]                        | testuser1@abc.com   | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | text_validation | text_validation_complete [Complete?]    | 0                 | Create record |

And I should see 3 rows in the data entry log table

Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
Then I should see "Record Home Page"
When I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Event   | Instance | Form            | Field and Label                                        | New Value         | Action        |
  | test_user1 | 1         | Event 2 |          | data_types        | radio_button_manual [Radio Button Manual]              | 9..9              | Update record |
  | test_user1 | 1         | Event 2 |          | data_types        | data_types_complete [Complete?]                          | 2                 | Update record |
  | test_user1 | 1         | Event 1 |          | text_validation | text_validation_crfver [CRF Versioning]                | 1                 | Create record |
  | test_user1 | 1         | Event 1 |          | text_validation | email_v2 [Email]                                         | testuser1@abc.com | Create record |
  | test_user1 | 1         | Event 1 |          | text_validation | text_validation_complete [Complete?]                   | 0                 | Create record |

And I should see 5 rows in the data entry log table
And I logout

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2100” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2200%20-%20RepeatingInstruments_DoubleArm_withDAGs.feature

Feature: E.127.2200 - RepeatingInstruments_DoubleArm_withDAGs

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.2200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
 
# Assign Test_User1 to DAG1
Given I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "DAG1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |

# Assign Test_User2 to DAG2
Given I click on the link labeled "DAGs"
When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
And I select "DAG2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |
  | DAG2               | test_user2 (Test User2) |

And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Instruments in Arm 1 DAG1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2200” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Repeating Instruments Arm 1- Instance 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "User1" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Group | Arm   | Instance | Form       | Field and Label                      | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | data_types | data_types_crfver [CRF Versioning]   | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | data_types | ptname [Name]                        | User1               | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  | Arm 1 |          | data_types | data_types_complete [Complete?]      | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Repeating Instruments Arm 1 - Instance 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "1-1"
Then I should see "Record Home Page"
And I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
And I should see "(Instance #2)"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Instruments Arm 1 - Instance 3
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "Notes" into the data entry form field labeled "Note Box"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Arm   | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user1 | 1-1       | DAG1  | Arm 1 | 3        | data_types      | notesbox [Notes Box]                      | Notes             | Update record |
  | test_user1 | 1-1       | DAG1  | Arm 1 | 3        | data_types      | file_upload [File Upload]                 | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  | Arm 1 | 3        | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user1 | 1-1       | DAG1  | Arm 1 | 2        | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user1 | 1-1       | DAG1  | Arm 1 | 2        | data_types      | data_types_complete [Complete?]             | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  | Arm 1 |          | data_types      | data_types_crfver [CRF Versioning]        | 1                 | Create record |
  | test_user1 | 1-1       | DAG1  | Arm 1 |          | data_types      | ptname [Name]                             | User1             | Create record |
  | test_user1 | 1-1       | DAG1  | Arm 1 |          | data_types      | data_types_complete [Complete?]           | 0                 | Create record |

And I should see 8 rows in the data entry log table
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Instruments in Arm 2 DAG2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2200” # Repeating Instruments Arm 2 - Instance 1 Given I click on the link labeled “Record Status Dashboard” And I click on the tab labeled “Arm 2” And I click on the button labeled “Add new record for this arm” And I click the bubble to add a record for the “Text Validation” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 2-1” And I should see “Text Validation” Then I enter “1” into the data entry form field labeled “CRF Versioning” And I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Repeating Instruments Arm 2 - Instance 2
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 2-1"
And I should see "Text Validation"
And I should see "(Instance #2)"
When I enter "testuser1@abc.com" into the data entry form field labeled "Email"
Then I click on the button labeled "Save & Exit Form"

# Repeating Instruments Arm 2 - Instance 3
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 2-1"
And I should see "Text Validation"
And I should see "(Instance #3)"
Then I enter "2" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser2@abc.com" into the data entry form field labeled "Email"
Then I click on the button labeled "Save & Exit Form"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Event   | Arm     | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 3        | text_validation | text_validation_crfver [CRF Versioning]   | 2                 | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 3        | text_validation | email_v2 [Email]                          | testuser2@abc.com | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 3        | text_validation | text_validation_complete [Complete?]      | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 2        | text_validation | email_v2 [Email]                          | testuser1@abc.com | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two | 2        | text_validation | text_validation_complete [Complete?]      | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | text_validation | text_validation_crfver [CRF Versioning]   | 1                 | Create record |
  | test_user2 | 2-1       | DAG2  | Event 1 | Arm Two |          | text_validation | text_validation_complete [Complete?]      | 0                 | Create record |

And I should see 7 rows in the data entry log table
And I should NOT see "test_user1"
And I should NOT see "DAG1"
And I logout  

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2200” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2300%20-%20RepeatingInstruments_DoubleArm_noDAGs.feature

Feature: E.127.2300 - RepeatingInstruments_DoubleArm_noDAGs

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.2300” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_DoubleArm_noDAGs.xml”, and clicking the “Create Project” button When I click on the link labeled “DAGs” Then I should NOT see “DAG1” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Instruments in Arm 1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2300” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Repeating Instruments Arm 1- Instance 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "User1" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Arm   | Instance | Form       | Field and Label                      | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         | Arm 1 |          | data_types | data_types_crfver [CRF Versioning]   | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         | Arm 1 |          | data_types | ptname [Name]                        | User1               | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         | Arm 1 |          | data_types | data_types_complete [Complete?]      | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Repeating Instruments Arm 1 - Instance 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
Then I should see "Record Home Page"
And I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
And I should see "(Instance #2)"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Instruments Arm 1 - Instance 3
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "Notes" into the data entry form field labeled "Note Box"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Arm   | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user1 | 1         | Arm 1 | 3        | data_types      | notesbox [Notes Box]                      | Notes             | Update record |
  | test_user1 | 1         | Arm 1 | 3        | data_types      | file_upload [File Upload]                 | 2                 | Update record |
  | test_user1 | 1         | Arm 1 | 3        | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user1 | 1         | Arm 1 | 2        | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user1 | 1         | Arm 1 | 2        | data_types      | data_types_complete [Complete?]             | 2                 | Update record |
  | test_user1 | 1         | Arm 1 |          | data_types      | data_types_crfver [CRF Versioning]        | 1                 | Create record |
  | test_user1 | 1         | Arm 1 |          | data_types      | ptname [Name]                             | User1             | Create record |
  | test_user1 | 1         | Arm 1 |          | data_types      | data_types_complete [Complete?]           | 0                 | Create record |

And I should see 8 rows in the data entry log table
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Instruments in Arm 2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2300” # Repeating Instruments Arm 2 - Instance 1 Given I click on the link labeled “Record Status Dashboard” And I click on the tab labeled “Arm 2” And I click on the button labeled “Add new record for this arm” And I click the bubble to add a record for the “Text Validation” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 2” And I should see “Text Validation” Then I enter “1” into the data entry form field labeled “CRF Versioning” And I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Repeating Instruments Arm 2 - Instance 2
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 2"
And I should see "Text Validation"
And I should see "(Instance #2)"
When I enter "testuser1@abc.com" into the data entry form field labeled "Email"
Then I click on the button labeled "Save & Exit Form"

# Repeating Instruments Arm 2 - Instance 3
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 2"
And I should see "Text Validation"
And I should see "(Instance #3)"
Then I enter "2" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser2@abc.com" into the data entry form field labeled "Email"
Then I click on the button labeled "Save & Exit Form"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Event   | Arm     | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user2 | 2         | Event 1 | Arm Two | 3        | text_validation | text_validation_crfver [CRF Versioning]   | 2                 | Update record |
  | test_user2 | 2         | Event 1 | Arm Two | 3        | text_validation | email_v2 [Email]                          | testuser2@abc.com | Update record |
  | test_user2 | 2         | Event 1 | Arm Two | 3        | text_validation | text_validation_complete [Complete?]      | 0                 | Update record |
  | test_user2 | 2         | Event 1 | Arm Two | 2        | text_validation | email_v2 [Email]                          | testuser1@abc.com | Update record |
  | test_user2 | 2         | Event 1 | Arm Two | 2        | text_validation | text_validation_complete [Complete?]      | 0                 | Update record |
  | test_user2 | 2         | Event 1 | Arm Two |          | text_validation | text_validation_crfver [CRF Versioning]   | 1                 | Update record |
  | test_user2 | 2         | Event 1 | Arm Two |          | text_validation | text_validation_complete [Complete?]      | 0                 | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   | 3        | data_types      | notesbox [Notes Box]                      | Notes             | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   | 3        | data_types      | file_upload [File Upload]                 | 2                 | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   | 3        | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   | 2        | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   | 2        | data_types      | data_types_complete [Complete?]             | 2                 | Update record |
  | test_user1 | 1         | Event 1 | Arm 1   |          | data_types      | data_types_crfver [CRF Versioning]        | 1                 | Create record |
  | test_user1 | 1         | Event 1 | Arm 1   |          | data_types      | ptname [Name]                             | User1             | Create record |
  | test_user1 | 1         | Event 1 | Arm 1   |          | data_types      | data_types_complete [Complete?]           | 0                 | Create record |

And I should see 15 rows in the data entry log table
And I logout

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2300” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2400%20-%20RepeatingInstruments_SingleArm_withDAGs.feature

Feature: E.127.2400 - RepeatingInstruments_SingleArm_withDAGs

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.2400” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_SingleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
 
# Assign Test_User1 to DAG1
Given I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "DAG1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |

# Assign Test_User2 to DAG2
Given I click on the link labeled "DAGs"
When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
And I select "DAG2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |
  | DAG2               | test_user2 (Test User2) |

And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Instruments in Arm 1 DAG1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2400” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Repeating Instruments Arm 1- Instance 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "User1" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Group | Instance | Form       | Field and Label                      | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | data_types | data_types_crfver [CRF Versioning]   | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | data_types | ptname [Name]                        | User1               | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | data_types | data_types_complete [Complete?]      | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Repeating Instruments Arm 1 - Instance 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "1-1"
Then I should see "Record Home Page"
And I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
And I should see "(Instance #2)"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Instruments Arm 1 - Instance 3
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "Notes" into the data entry form field labeled "Note Box"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user1 | 1-1       | DAG1  | 3        | data_types      | notesbox [Notes Box]                      | Notes             | Update record |
  | test_user1 | 1-1       | DAG1  | 3        | data_types      | file_upload [File Upload]                 | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  | 3        | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user1 | 1-1       | DAG1  | 2        | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user1 | 1-1       | DAG1  | 2        | data_types      | data_types_complete [Complete?]             | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  |          | data_types      | data_types_crfver [CRF Versioning]        | 1                 | Create record |
  | test_user1 | 1-1       | DAG1  |          | data_types      | ptname [Name]                             | User1             | Create record |
  | test_user1 | 1-1       | DAG1  |          | data_types      | data_types_complete [Complete?]           | 0                 | Create record |

And I should see 8 rows in the data entry log table
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Instruments in Arm 1 DAG2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2400” # Repeating Instruments Arm 1 - Instance 1 Given I click on the link labeled “Record Status Dashboard” And I click on the button labeled “Add new record” And I click the bubble to add a record for the “Data Types” longitudinal instrument on event “Event 1” Then I should see “Adding new Record ID 2-1” And I should see “Data Types” Then I enter “1” into the data entry form field labeled “CRF Versioning” And I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Repeating Instruments Arm 1 - Instance 2
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 2-1"
And I should see "Data Types"
And I should see "(Instance #2)"
When I enter "User2" into the data entry form field labeled "Name"
Then I click on the button labeled "Save & Exit Form"

# Repeating Instruments Arm 1 - Instance 3
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 2-1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "2" into the data entry form field labeled "CRF Versioning"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I click on the button labeled "Save & Exit Form"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Instance | Form       | Field and Label                           | New Value         | Action        |
  | test_user2 | 2-1       | DAG2  | 3        | data_types | data_types_crfver [CRF Versioning]        | 2                 | Update record |
  | test_user2 | 2-1       | DAG2  | 3        | data_types | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user2 | 2-1       | DAG2  | 3        | data_types | data_types_complete [Complete?]           | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  | 2        | data_types | ptname [Name]                             | User2              | Update record |
  | test_user2 | 2-1       | DAG2  | 2        | data_types | data_types_complete [Complete?]           | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  |          | data_types | data_types_crfver [CRF Versioning]        | 1                 | Create record |
  | test_user2 | 2-1       | DAG2  |          | data_types | data_types_complete [Complete?]           | 0                 | Create record |

And I should see 7 rows in the data entry log table
And I should NOT see "test_user1"
And I should NOT see "DAG1"
And I logout

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2400” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2500%20-%20RepeatingInstruments_SingleArm_noDAGs.feature

Feature: E.127.2500 - RepeatingInstruments_SingleArm_noDAGs

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.2500” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_SingleArm_noDAGs.xml”, and clicking the “Create Project” button When I click on the link labeled “DAGs” Then I should NOT see “DAG1” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Instruments in Arm 1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2500” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Repeating Instruments Arm 1- Instance 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "User1" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Instance | Form       | Field and Label                      | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | data_types | data_types_crfver [CRF Versioning]   | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | data_types | ptname [Name]                        | User1               | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | data_types | data_types_complete [Complete?]      | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Repeating Instruments Arm 1 - Instance 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
Then I should see "Record Home Page"
And I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
And I should see "(Instance #2)"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Instruments Arm 1 - Instance 3
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "Notes" into the data entry form field labeled "Note Box"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user1 | 1         | 3        | data_types      | notesbox [Notes Box]                      | Notes             | Update record |
  | test_user1 | 1         | 3        | data_types      | file_upload [File Upload]                 | 2                 | Update record |
  | test_user1 | 1         | 3        | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user1 | 1         | 2        | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user1 | 1         | 2        | data_types      | data_types_complete [Complete?]             | 2                 | Update record |
  | test_user1 | 1         |          | data_types      | data_types_crfver [CRF Versioning]        | 1                 | Create record |
  | test_user1 | 1         |          | data_types      | ptname [Name]                             | User1             | Create record |
  | test_user1 | 1         |          | data_types      | data_types_complete [Complete?]           | 0                 | Create record |

And I should see 8 rows in the data entry log table
And I logout

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2500” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2600%20-%20NonLongitudinal_RepeatingInstruments_withDAGS.feature

Feature: E.127.2600 - NonLongitudinal_RepeatingInstruments_withDAGS

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.2600” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_RepeatingInstruments_withDAGS.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
 
# Assign Test_User1 to DAG1
Given I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "DAG1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |

# Assign Test_User2 to DAG2
Given I click on the link labeled "DAGs"
When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
And I select "DAG2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |
  | DAG2               | test_user2 (Test User2) |

And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Instruments in DAG1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2600” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Repeating Instruments - Instance 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" instrument on event "Status"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "User1" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Group | Instance | Form       | Field and Label                      | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | data_types | data_types_crfver [CRF Versioning]   | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | data_types | ptname [Name]                        | User1               | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | data_types | data_types_complete [Complete?]      | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Repeating Instruments - Instance 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "1-1"
Then I should see "Record Home Page"
And I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
And I should see "(Instance #2)"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Instruments - Instance 3
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1-1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "Notes" into the data entry form field labeled "Note Box"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user1 | 1-1       | DAG1  | 3        | data_types      | notesbox [Notes Box]                      | Notes             | Update record |
  | test_user1 | 1-1       | DAG1  | 3        | data_types      | file_upload [File Upload]                 | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  | 3        | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user1 | 1-1       | DAG1  | 2        | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user1 | 1-1       | DAG1  | 2        | data_types      | data_types_complete [Complete?]             | 2                 | Update record |
  | test_user1 | 1-1       | DAG1  |          | data_types      | data_types_crfver [CRF Versioning]        | 1                 | Create record |
  | test_user1 | 1-1       | DAG1  |          | data_types      | ptname [Name]                             | User1             | Create record |
  | test_user1 | 1-1       | DAG1  |          | data_types      | data_types_complete [Complete?]           | 0                 | Create record |

And I should see 8 rows in the data entry log table
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Instruments in DAG2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2600” # Repeating Instruments - Instance 1 Given I click on the link labeled “Record Status Dashboard” And I click on the button labeled “Add new record” And I click the bubble to add a record for the “Data Types” instrument on event “Status” Then I should see “Adding new Record ID 2-1” And I should see “Data Types” Then I enter “1” into the data entry form field labeled “CRF Versioning” And I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Repeating Instruments - Instance 2
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 2-1"
And I should see "Data Types"
And I should see "(Instance #2)"
When I enter "User2" into the data entry form field labeled "Name"
Then I click on the button labeled "Save & Exit Form"

# Repeating Instruments - Instance 3
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 2-1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "2" into the data entry form field labeled "CRF Versioning"
Then I enter "Hello" into the data entry form field labeled "Notes Box"
Then I click on the button labeled "Save & Exit Form"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Instance | Form       | Field and Label                      | New Value         | Action        |
  | test_user2 | 2-1       | DAG2  | 3        | data_types | data_types_crfver [CRF Versioning]   | 2                 | Update record |
  | test_user2 | 2-1       | DAG2  | 3        | data_types | data_types_complete [Complete?]      | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  | 3        | data_types | notesbox [Notes Box]                   | Hello             | Update record |
  | test_user2 | 2-1       | DAG2  | 2        | data_types | ptname [Name]                          | User2             | Update record |
  | test_user2 | 2-1       | DAG2  | 2        | data_types | data_types_complete [Complete?]      | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  |          | data_types | data_types_crfver [CRF Versioning]   | 1                 | Create record |
  | test_user2 | 2-1       | DAG2  |          | data_types | data_types_complete [Complete?]      | 0                 | Create record |

And I should see 7 rows in the data entry log table
And I should NOT see "test_user1"
And I should NOT see "DAG1"
And I logout  

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2600” When I click on the link labeled “View Logs” Then I should see “No data available in table” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2700%20-%20NonLongitudinal_RepeatingInstruments_noDAGS.feature

Feature: E.127.2700 - NonLongitudinal_RepeatingInstruments_noDAGS

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.2700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_RepeatingInstruments_noDAGS.xml”, and clicking the “Create Project” button When I click on the link labeled “DAGs” Then I should NOT see “DAG1” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for Repeating Instruments Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2700” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Repeating Instruments - Instance 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" instrument on event "Status"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "User1" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Instance | Form       | Field and Label                      | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | data_types | data_types_crfver [CRF Versioning]   | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | data_types | ptname [Name]                        | User1               | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | data_types | data_types_complete [Complete?]      | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Repeating Instruments - Instance 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "1"
Then I should see "Record Home Page"
And I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
And I should see "(Instance #2)"
Then I select "Choice99" on the radio field labeled "Radio Button Manual"
Then I select "Complete" on the dropdown field labeled "Complete?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

# Repeating Instruments - Instance 3
Given I click on the button labeled "Add new"
Then I should see "Editing existing Record ID 1"
And I should see "Data Types"
And I should see "(Instance #3)"
Then I enter "Notes" into the data entry form field labeled "Note Box"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Instance | Form            | Field and Label                           | New Value         | Action        |
  | test_user1 | 1         | 3        | data_types      | notesbox [Notes Box]                      | Notes             | Update record |
  | test_user1 | 1         | 3        | data_types      | file_upload [File Upload]                 | 2                 | Update record |
  | test_user1 | 1         | 3        | data_types      | data_types_complete [Complete?]             | 0                 | Update record |
  | test_user1 | 1         | 2        | data_types      | radio_button_manual [Radio Button Manual] | 9..9              | Update record |
  | test_user1 | 1         | 2        | data_types      | data_types_complete [Complete?]             | 2                 | Update record |
  | test_user1 | 1         |          | data_types      | data_types_crfver [CRF Versioning]        | 1                 | Create record |
  | test_user1 | 1         |          | data_types      | ptname [Name]                             | User1             | Create record |
  | test_user1 | 1         |          | data_types      | data_types_complete [Complete?]           | 0                 | Create record |

And I should see 8 rows in the data entry log table
And I logout

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2700” When I click on the link labeled “View Logs” Then I should see “No data available in table” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2800%20-%20NonLongitudinal_NonRepeatingInstruments_withDAGS.feature

Feature: E.127.2800 - NonLongitudinal_NonRepeatingInstruments_withDAGS

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.2800” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_NonRepeatingInstruments_withDAGS.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Add User Test_User2
Given I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
 
# Assign Test_User1 to DAG1
Given I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "DAG1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |

# Assign Test_User2 to DAG2
Given I click on the link labeled "DAGs"
When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
And I select "DAG2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | DAG1               | test_user1 (Test User1) |
  | DAG2               | test_user2 (Test User2) |

And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for NonRepeating Instruments in DAG1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2800” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Instruments 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" instrument on event "Status"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "User1" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Group | Instance | Form       | Field and Label                      | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | data_types | data_types_crfver [CRF Versioning]   | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | data_types | ptname [Name]                        | User1               | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1-1       | DAG1  |          | data_types | data_types_complete [Complete?]      | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Instruments 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "1-1"
Then I should see "Record Home Page"
And I click the bubble to add a record for the "Text Validation" instrument on event "Status"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser1@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Instance | Form            | Field and Label                         | New Value         | Action        |
  | test_user1 | 1-1       | DAG1  |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Update record |
  | test_user1 | 1-1       | DAG1  |          | text_validation | email_v2 [Email]                        | testuser1@abc.com   | Update record |
  | test_user1 | 1-1       | DAG1  |          | text_validation | text_validation_complete [Complete?]    | 0                 | Update record |
  | test_user1 | 1-1       | DAG1  |          | data_types      | data_types_crfver [CRF Versioning]      | 1                 | Create record |
  | test_user1 | 1-1       | DAG1  |          | data_types      | ptname [Name]                           | User1               | Create record |
  | test_user1 | 1-1       | DAG1  |          | data_types      | data_types_complete [Complete?]         | 0                 | Create record |

And I should see 6 rows in the data entry log table
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for NonRepeating Instruments in DAG2 Given I login to REDCap with the user “Test_User2” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2800” # Instruments 1 Given I click on the link labeled “Record Status Dashboard” And I click on the button labeled “Add new record” And I click the bubble to add a record for the “Data Types” instrument on event “Status” Then I should see “Adding new Record ID 2-1” And I should see “Data Types” Then I enter “1” into the data entry form field labeled “CRF Versioning” And I click on the button labeled “Save & Exit Form” Then I should see “Record Home Page”

# Instruments 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "2-1"
Then I should see "Record Home Page"
And I click the bubble to add a record for the "Text Validation" instrument on event "Status"
Then I enter "2" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser2@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Group | Instance | Form            | Field and Label                         | New Value         | Action        |
  | test_user2 | 2-1       | DAG2  |          | text_validation | text_validation_crfver [CRF Versioning] | 2                 | Update record |
  | test_user2 | 2-1       | DAG2  |          | text_validation | email_v2 [Email]                        | testuser2@abc.com   | Update record |
  | test_user2 | 2-1       | DAG2  |          | text_validation | text_validation_complete [Complete?]    | 0                 | Update record |
  | test_user2 | 2-1       | DAG2  |          | data_types      | data_types_crfver [CRF Versioning]      | 1                 | Create record |
  | test_user2 | 2-1       | DAG2  |          | data_types      | data_types_complete [Complete?]         | 0                 | Create record |

And I should see 5 rows in the data entry log table
And I should NOT see "test_user1"
And I should NOT see "DAG1"
And I logout  

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2800” When I click on the link labeled “View Logs” Then I should see “No data available in table” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Data%20Entry%20Log_127/E.127.2900%20-%20NonLongitudinal_NonRepeatingInstruments_noDAGS.feature

Feature: E.127.2900 - NonLongitudinal_NonRepeatingInstruments_noDAGS

As a REDCap end user I want to see that Data Entry Log External Module work as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Data Entry Log - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Data Entry Log"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Data Entry Log - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.127.2900” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_NonRepeatingInstruments_noDAGS.xml”, and clicking the “Create Project” button When I click on the link labeled “DAGs” Then I should NOT see “DAG1” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Data Entry Log - v0.0.0” Then I should see “Data Entry Log - v0.0.0”

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Scenario: E.127.1200, E.127.1300 - Data Entry Log for NonRepeating Instruments in DAG1 Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2900” When I click on the link labeled “Data Entry Log” Then I should see “No log entries found”

# Instruments 1
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" instrument on event "Status"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "User1" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  |  Date / Time      | Username   | Record ID | Instance | Form       | Field and Label                      | New Value         | Action        |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | data_types | data_types_crfver [CRF Versioning]   | 1                 | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | data_types | ptname [Name]                        | User1               | Create record |
  |  mm/dd/yyyy hh:mm | test_user1 | 1         |          | data_types | data_types_complete [Complete?]      | 0                 | Create record |

And I should see 3 rows in the data entry log table

# Instruments 2
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "1"
Then I should see "Record Home Page"
And I click the bubble to add a record for the "Text Validation" instrument on event "Status"
Then I enter "1" into the data entry form field labeled "CRF Versioning"
Then I enter "testuser1@abc.com" into the data entry form field labeled "Email"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

When I click on the link labeled "Data Entry Log"
Then I should see a table header and rows containing the following values in the a table:
  | Username   | Record ID | Instance | Form            | Field and Label                         | New Value         | Action        |
  | test_user1 | 1         |          | text_validation | text_validation_crfver [CRF Versioning] | 1                 | Update record |
  | test_user1 | 1         |          | text_validation | email_v2 [Email]                        | testuser1@abc.com   | Update record |
  | test_user1 | 1         |          | text_validation | text_validation_complete [Complete?]    | 0                 | Update record |
  | test_user1 | 1         |          | data_types      | data_types_crfver [CRF Versioning]      | 1                 | Create record |
  | test_user1 | 1         |          | data_types      | ptname [Name]                           | User1               | Create record |
  | test_user1 | 1         |          | data_types      | data_types_complete [Complete?]         | 0                 | Create record |

And I should see 6 rows in the data entry log table
And I logout

Scenario: E.127.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.127.2900” When I click on the link labeled “View Logs” Then I should see “No data available in table” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Data Entry Log - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Data Entry Log - v0.0.0”

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Data Entry Log - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - data_entry_log"

Comments:

Comment:

Author: MintooXavier Updated on: 7/10/2025 2:22:18 PM

Comment body:

Added scripts for 16 project types


Timeline events:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:37:40 PM Label name: Automated Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:37:40 PM Label name: External Module Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:37:40 PM Label name: Gherkin Label description: Uses a Gherkin syntax

ASSIGNED | User: MintooXavier Created on: 2/10/2025 10:10:09 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/10/2025 2:22:18 PM Issue comment body:

Added scripts for 16 project types


————— feature ends —————



Feature: 126. Enhance form status

Id: I_kwDOIaOBn86ojZ8l Uid: redcap_cypress-87
Author: MintooXavier Created: 2/3/2025 3:34:31 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/87
Milestone: |none| Labels: Gherkin || Automated || External Module

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 7/10/2025 2:12:01 PM
Locked: false Participants: MintooXavier || rmh54

Project item body:

Brief description:
The Enhance form status module provides extra configuration for the built-in form status field (the field ending in
’_complete’). It is used to facilitate a data management workflow by removing access to the field for some role types,
and adding oversight of forms that can automatically invalidate the ‘completed’ status of form in the event a data entry
user makes subsequent changes to a previously ‘complete’ form.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/126_enhance_form_status.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.100%20-%20Enhance%20Form%20Status%20Configurations.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.600%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.700%20-%20Enhance%20Form%20Status%20in%20Projects.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.800%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.900%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1000%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1100%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1500%20-%20RepeatingEvents_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1600%20-%20RepeatingEvents_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1700%20-%20RepeatingEvents_SingleArm_withDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1800%20-%20RepeatingEvents_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1900%20-%20NonRepeating_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2000%20-%20NonRepeating_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2100%20-%20NonRepeating_SingleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2200%20-%20NonRepeating_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2300%20-%20RepeatingInstruments_DoubleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2400%20-%20RepeatingInstruments_DoubleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2500%20-%20RepeatingInstruments_SingleArm_withDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2600%20-%20RepeatingInstruments_SingleArm_noDAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2700%20-%20NonLongitudinal_RepeatingInstruments_withDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2800%20-%20NonLongitudinal_RepeatingInstruments_noDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2900%20-%20NonLongitudinal_NonRepeatingInstruments_withDAGS.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.3000%20-%20NonLongitudinal_NonRepeatingInstruments_noDAGS.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/external_modules/126_enhance_form_status.spec

E.126.100 - The system shall support the ability to enable/disable Enhance Form Status external module.
E.126.200 - The system shall support the ability to enable Enhance Form Status external module on all projects by default.
E.126.300 - The system shall support the ability to make Enhance Form Status external module discoverable by users.
E.126.400 - The system shall support the ability to allow non-admins to enable Enhance Form Status external module on projects.
E.126.500 - The system shall support the ability to hide Enhance Form Status external module from non-admins in the list of enabled modules on each project.
E.126.600 - The system shall support the ability to view the usage of Enhance Form Status external module.
E.126.700 - The system shall support the ability to attach form status to the foot of the data entry form using Enhance Form Status module.
E.126.800 - The system shall support the ability to add user roles that can update form status using Enhance Form Status module.
E.126.900 - The system shall support the ability to add user roles that can view form status using Enhance Form Status module.
E.126.1000 - The system shall support the ability to replace ‘unverified’ text in form status using Enhance Form Status external module.
E.126.1100 - The system shall support the ability to add an action tag that users can use to exclude a field from the automatic invalidation of the form status when a user changes a value on a previously ‘completed’ form using Enhance Form Status module.
E.126.1200 - The system shall allow only super-admins to configure the Enhance Form Status external module.
E.126.1300 - The system shall support the ability to use Enhance Form Status external module for different Arms.
E.126.1400 - The system shall support the ability to use Enhance Form Status external module for Repeating Events/Instruments.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.100%20-%20Enhance%20Form%20Status%20Configurations.feature

Feature: E.126.100 - The system shall support the ability to enable/disable Enhance form status external module.

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: E.126.100 - Enable external module - Default settings Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"    
And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.126.100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I should NOT see a link labeled exactly "Manage"
And I logout

Scenario: E.126.200 - Enable module on all projects by default Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Enhance form status - v0.0.0” And I should NOT see “Enabled for All Projects” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Enable module on all projects by default” And I click on the button labeled “Save” Then I should see “Enhance form status - v0.0.0” And I should see “Enabled for All Projects” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.126.100.200" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance form status - v0.0.0"
And I should see "Enabled for All Projects"
And I logout

Scenario: E.126.300 - Make module discoverable by users Given I login to REDCap with the user “Test_Admin”
When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Enhance form status - v0.0.0” And I should see “Enabled for All Projects” And I should NOT see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Enable module on all projects by default” And I check the checkbox labeled “Make module discoverable by users” And I click on the button labeled “Save” Then I should see “Enhance form status - v0.0.0” And I should NOT see “Enabled for All Projects” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.126.100.300" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance form status - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Enhance form status - v0.0.0"
And I should see "Discoverable"
And I should NOT see "Activation request is pending"
When I click on the button labeled Request Activation for the external module named "Enhance form status"
Then I should see "SUCCESS! Your external module activation request has been sent to a REDCap administrator for review." in the dialog box
And I click on the button labeled "Close" in the dialog box
And I should NOT see "Enhance form status - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Enhance form status - v0.0.0"
And I should see "Discoverable"
And I should see "Activation request is pending"
And I logout

## Commenting this as HTML is not loading into iframe
## Hence this is done manually
# Given I login to REDCap with the user "Test_Admin"
# When I click on the link labeled "Control Center"
# Then I should see a link labeled "To-Do List"

# Given I click on the link labeled "To-Do List"
# Then I should see "Pending Requests"
# And I should see the "Activate external module" request created for the project named "E.126.100.300" within the Pending Requests table
# When I click on the process request icon for the "Activate external module" request created for the project named "E.126.100.300" within the Pending Requests table
# # HTML is not loading into iFrame
# Then I should see "Enable module 'Enhance form status - '?" in the dialog box in the iframe
# And I click on the button labeled "Enable" in the dialog box in the iframe
# And I close the iframe window
# Then I should see the "Activate external module" request created for the project named "E.126.100.300" within the Completed & Archived Requests table
# And I logout

# Given I login to REDCap with the user "Test_User1"
# When I click on the link labeled "My Projects"
# And I click on the link labeled "E.126.100.300"
# And I click on the link labeled exactly "Manage"
# Then I should see "External Modules - Project Module Manager"
# And I should see "Enhance form status - v0.0.0"
# And I should see "Discoverable"
# And I logout

Scenario: E.126.400 - Allow non-admins to enable this module on projects Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center”
And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Enhance form status - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I check the checkbox labeled “Allow non-admins to enable this module on projects” And I click on the button labeled “Save” Then I should see “Enhance form status - v0.0.0” And I should see “Discoverable” And I logout

Given I login to REDCap with the user "Test_User1"
When I create a new project named "E.126.100.400" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance form status - v0.0.0"

When I click on the button labeled "View available modules"
Then I should see "Enhance form status - v0.0.0"
And I should see "Discoverable"
And I click on the button labeled Enable for the external module named "Enhance form status - v0.0.0"
Then I should see "Enhance form status - v0.0.0"
And I logout

Scenario: E.126.500 - Hide this module from non-admins in the list of enabled modules on each project # Enable ‘Hide this module from non-admins in the list of enabled modules on each project’ Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Enhance form status - v0.0.0” And I should see “Discoverable” When I click on the button labeled exactly “Configure” And I uncheck the checkbox labeled “Make module discoverable by users” And I uncheck the checkbox labeled “Allow non-admins to enable this module on projects” And I check the checkbox labeled “Hide this module from non-admins in the list of enabled modules on each project” And I click on the button labeled “Save” Then I should see “Enhance form status - v0.0.0” And I should NOT see “Discoverable”

When I create a new project named "E.126.100.500" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status - v0.0.0"
Then I should see "Enhance form status - v0.0.0"

# Add User Test_User1 with Project Setup & Design User Rights
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I check the User Right named "Project Setup & Design"
And I click on the button labeled "Add user"
Then I should see "successfully added"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
And I logout

# Disable 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled exactly "Configure"
And I uncheck the checkbox labeled "Hide this module from non-admins in the list of enabled modules on each project"
And I click on the button labeled "Save"
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance form status - v0.0.0"
And I logout

# Enable from project - 'Hide this module from non-admins in the list of enabled modules on each project'
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled exactly "Configure"
And I check the checkbox labeled "Hide this module from non-admins in the list of enabled modules on this project"
And I click on the button labeled "Save"
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
And I logout

Scenario: Module configuration permissions in projects # Enable - Require Project Setup/Design privilege Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “External Modules - Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Configure” Then I should see the dropdown field labeled “Module configuration permissions in projects” with the option “Require Project Setup/Design privilege” selected And I click on the button labeled “Save” Then I should see “Enhance form status - v0.0.0”

When I create a new project named "E.126.100.600" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val_nodata.xml", and clicking the "Create Project" button

# Enable external module
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status - v0.0.0"
Then I should see "Enhance form status - v0.0.0"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Add user"
Then I should see "successfully added"

# Enable - Require module-specific user privilege
When I click on the link labeled "Control Center"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should see "Enhance form status - v0.0.0"
When I click on the button labeled exactly "Configure"
And I select "Require module-specific user privilege" on the dropdown field labeled "Module configuration permissions in projects"
And I click on the button labeled "Save"
Then I should see "Enhance form status - v0.0.0"

When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.100.600"

#VERIFY
When I click on the link labeled "User Rights"
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
When I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is unchecked
And I check the checkbox labeled "Enhance form status"
And I click on the button labeled "Add user"
Then I should see "successfully added"

Scenario: E.126.600 - View Usage of the external module When I click on the link labeled “Control Center” And I click on the link labeled exactly “Manage” Then I should see “Enhance form status - v0.0.0” When I click on the button labeled “View Usage” Then I should see a link labeled “E.126.100.400” in the dialog box And I should see a link labeled “E.126.100.500” in the dialog box And I should see a link labeled “E.126.100.600” in the dialog box When I click on the link labeled “E.126.100.400” in the dialog box # # For Request Activation of project E.126.100.300 which doesn’t work in ATS. # # Can be checked manually # And I should see a link labeled “E.126.100.300” in the dialog box Then I should see “Project Home” And I should see “E.126.100.400”

Scenario: E.126.100 - Disable external module # Disable external module in project E.126.100.400 Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

# Disable external module in project E.126.100.500
Given I click on the link labeled "My Projects"
When I click on the link labeled "E.126.100.500"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance form status - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Disable external module in project E.126.100.600
Given I click on the link labeled "My Projects"
When I click on the link labeled "E.126.100.600"
And I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I should see "Enhance form status - v0.0.0"
When I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.100.400" in the dialog box
And I should NOT see "E.126.100.500" in the dialog box
And I should NOT see "E.126.100.600" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"
And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.200%20-%20REDUNDANT.feature

Feature: E.126.200 - The system shall support the ability to enable Enhance Form Status external module on all projects by default.

This feature test is REDUNDANT and can be viewed in E.126.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.300%20-%20REDUNDANT.feature

Feature: E.126.300 - The system shall support the ability to make Enhance Form Status external module discoverable by users.

This feature test is REDUNDANT and can be viewed in E.126.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.400%20-%20REDUNDANT.feature

Feature: E.126.400 - The system shall support the ability to allow non-admins to enable Enhance Form Status external module on projects.

This feature test is REDUNDANT and can be viewed in E.126.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.500%20-%20REDUNDANT.feature

Feature: E.126.500 - The system shall support the ability to hide Enhance Form Status external module from non-admins in the list of enabled modules on each project.

This feature test is REDUNDANT and can be viewed in E.126.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.600%20-%20REDUNDANT.feature

Feature: E.126.600 - The system shall support the ability to view the usage of Enhance Form Status external module.

This feature test is REDUNDANT and can be viewed in E.126.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.700%20-%20Enhance%20Form%20Status%20in%20Projects.feature

Feature: E.126.700 - The system shall support the ability to view field variable name, element type, validation type and action tags in instruments when the corresponding options are enabled in Enhance form status external module.

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/E126700.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntry role and DAG2
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntry" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntry" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# Adding Test_User4 to Monitor role
When I enter "Test_User4" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "Monitor" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User4" within the "Monitor" row of the column labeled "Username" of the User Rights table

# ACTION: Import data 
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/E126700_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "Monitor" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
And I click on the button labeled "+" for the field labeled "Roles that can view the form status" in the external module configuration
And I select "DataEntry" on the dropdown field labeled "2. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User cannot View/Update Form Status
# View & Edit Access for all instruments
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.700"
And I click on the link labeled "Add / Edit Records"
Then I should see "Arm 1: Arm 1"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "(Instance #1)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should NOT see red form status bubble
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.700"
And I click on the link labeled "Add / Edit Records"
Then I should see "Arm 1: Arm 1"
When I click on the button labeled "Add new record for the arm selected above"
# Instrument with View & Edit Access
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "(Instance #1)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"
# Instrument with Readonly Access
When I click on the link labeled "Text Validation"
Then I should see red bubble with the form status "Incomplete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
And I should NOT see a button labeled "Save & Exit Form"
And I logout

# User can View/(Not update) Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.700"
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the tab labeled "Arm Two"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
And I should NOT see a button labeled "Save & Exit Form"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.700"
And I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# E.126.1300, E.126.1400
And I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the second instance
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"

# # E.126.1300, E.126.1400
# Given I click on the link labeled "Record Status Dashboard"
# And I click on the tab labeled "Arm Two"
# And I click on the link labeled exactly "2-1"
# When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#1)"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.700"
And I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the second instance
Then I should see the dropdown field labeled "Complete?" with the option "Complete" selected
And I enter "ABC" into the input field labeled "Text2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see the dropdown field labeled "Complete?" with the option "Unverified" selected

# Add User Test_User1 with 'Project Setup & Design' rights
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntry"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.700"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the input field labeled "Text2"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.700"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.700"
And I click on the link labeled "Add / Edit Records"
Then I should see "Arm 1: Arm 1"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.700"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.700"
And I click on the link labeled "Add / Edit Records"
Then I should see "Arm 1: Arm 1"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should NOT see red form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.700"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.700” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.700" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.800%20-%20REDUNDANT.feature

Feature: E.126.800 - The system shall support the ability to add user roles that can update form status using Enhance Form Status module.

This feature test is REDUNDANT and can be viewed in E.126.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.900%20-%20REDUNDANT.feature

Feature: E.126.900 - The system shall support the ability to add user roles that can view form status using Enhance Form Status module.

This feature test is REDUNDANT and can be viewed in E.126.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1000%20-%20REDUNDANT.feature

Feature: E.126.1000 - The system shall support the ability to replace ‘unverified’ text in form status using Enhance Form Status external module.

This feature test is REDUNDANT and can be viewed in E.126.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1100%20-%20REDUNDANT.feature

Feature: E.126.1100 - The system shall support the ability to add an action tag that users can use to exclude a field from the automatic invalidation of the form status when a user changes a value on a previously ‘completed’ form using Enhance Form Status module.

This feature test is REDUNDANT and can be viewed in E.126.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1200%20-%20REDUNDANT.feature

Feature: E.126.1200 - The system shall allow only super-admins to configure the Enhance Form Status external module.

This feature test is REDUNDANT and can be viewed in E.126.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1300%20-%20REDUNDANT.feature

Feature: E.126.1300 - The system shall support the ability to use Enhance Form Status external module for different Arms.

This feature test is REDUNDANT and can be viewed in E.126.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1400%20-%20REDUNDANT.feature

Feature: E.126.1400 - The system shall support the ability to use Enhance Form Status external module for Repeating Events/Instruments.

This feature test is REDUNDANT and can be viewed in E.126.700

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1500%20-%20RepeatingEvents_DoubleArm_withDAGs.feature

Feature: E.126.1500 - RepeatingEvents_DoubleArm_withDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.1500” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_DoubleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1500"
And I click on the link labeled "Add / Edit Records"
Then I should see "Arm 1: Arm 1"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "(Instance #3)"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I should NOT see a link labeled exactly "2-1"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1500"
And I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# Given I click on the link labeled "Text Validation"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1500"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1500"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should NOT see a link labeled exactly "1-1"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1500"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1500"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1500"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1500"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.1500” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.1500" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1600%20-%20RepeatingEvents_DoubleArm_noDAGs.feature

Feature: E.126.1600 - RepeatingEvents_DoubleArm_noDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.1600” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_DoubleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data 
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_DoubleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1600"
And I click on the link labeled "Add / Edit Records"
Then I should see "Arm 1: Arm 1"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "(Instance #3)"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I should see a link labeled exactly "2"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1600"
And I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# Given I click on the link labeled "Text Validation"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1600"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1600"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled exactly "1"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1600"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1600"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1600"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1600"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.1600” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.1600" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1700%20-%20RepeatingEvents_SingleArm_withDAGS.feature

Feature: E.126.1700 - RepeatingEvents_SingleArm_withDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.1700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_SingleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_SingleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1700"
And I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "(Instance #3)"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled "Arm Two"
And I should NOT see a link labeled exactly "2-1"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1700"
And I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# Given I click on the link labeled "Text Validation"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1700"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1700"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should NOT see a link labeled exactly "1-1"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1700"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1700"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1700"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1700"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.1700” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.1700" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1800%20-%20RepeatingEvents_SingleArm_noDAGs.feature

Feature: E.126.1800 - RepeatingEvents_SingleArm_noDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.1800” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingEvents_SingleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data 
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingEvents_SingleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1800"
And I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#3)"
Then I should see "(Instance #3)"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled exactly "Arm Two"
And I logout


# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1800"
And I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# Given I click on the link labeled "Text Validation"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1800"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1800"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1800"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1800"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1800"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1800"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "(#2)"
Then I should see "(Instance #2)"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.1800” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.1800" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.1900%20-%20NonRepeating_DoubleArm_withDAGs.feature

Feature: E.126.1900 - NonRepeating_DoubleArm_withDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.1900” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_DoubleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1900"
And I click on the link labeled "Add / Edit Records"
Then I should see "Arm 1: Arm 1"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 1: Arm 1)"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I should NOT see a link labeled exactly "2-1"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1900"
And I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Event 1 (Arm 1: Arm 1)"
# # And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# Given I click on the link labeled "Text Validation"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 2: Arm Two)"
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1900"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1900"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should NOT see a link labeled exactly "1-1"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 2: Arm Two)"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1900"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 2: Arm Two)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1900"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1900"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 2: Arm Two)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.1900"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 2: Arm Two)"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.1900” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.1900" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2000%20-%20NonRepeating_DoubleArm_noDAGs.feature

Feature: E.126.2000 - NonRepeating_DoubleArm_noDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.2000” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_DoubleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_DoubleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2000"
And I click on the link labeled "Add / Edit Records"
Then I should see "Arm 1: Arm 1"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 1: Arm 1)"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I should see a link labeled exactly "2"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2000"
And I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Event 1 (Arm 1: Arm 1)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# Given I click on the link labeled "Text Validation"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 2: Arm Two)"
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2000"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2000"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled exactly "1"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 2: Arm Two)"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2000"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 2: Arm Two)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2000"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2000"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 2: Arm Two)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2000"
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
And I click on the link labeled exactly "2"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see "Event 2 (Arm 2: Arm Two)"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.2000” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.2000" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2100%20-%20NonRepeating_SingleArm_withDAGs.feature

Feature: E.126.2100 - NonRepeating_SingleArm_withDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.2100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_SingleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_SingleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2100"
And I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled exactly "Arm Two"
And I should NOT see a link labeled exactly "2-1"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2100"
And I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# Given I click on the link labeled "Text Validation"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2100"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2100"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should NOT see a link labeled exactly "1-1"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2100"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2100"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2100"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2100"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2-1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.2100” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.2100" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2200%20-%20NonRepeating_SingleArm_noDAGs.feature

Feature: E.126.2200 - NonRepeating_SingleArm_noDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.2200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonRepeating_SingleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonRepeating_SingleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2200"
And I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 2"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled exactly "Arm 1"
And I should NOT see a link labeled exactly "Arm Two"
And I should see a link labeled exactly "2"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2200"
And I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event Three"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"

# Given I click on the link labeled "Text Validation"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2200"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2200"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2200"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2200"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2200"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2200"
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.2200” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.2200" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2300%20-%20RepeatingInstruments_DoubleArm_withDAGs.feature

Feature: E.126.2300 - RepeatingInstruments_DoubleArm_withDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.2300” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_DoubleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_DoubleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2300"
And I click on the link labeled "Add / Edit Records"
Then I should see "Arm 1: Arm 1"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the tab labeled "Arm Two"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 1"
And I should NOT see a link labeled exactly "1-1"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2300"
And I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2-1" and click the repeating instrument bubble for the first instance
Then I should see "(Instance #1)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# And I click on the link labeled "Record Status Dashboard"
# When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2-1" and click the repeating instrument bubble for the third instance
# Then I should see "(Instance #3)"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2300"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2300"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
Then I should NOT see a link labeled exactly "2-1"

Given I click on the link labeled "Arm 1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2300"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2300"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2300"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2300"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.2300” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.2300" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2400%20-%20RepeatingInstruments_DoubleArm_noDAGs.feature

Feature: E.126.2400 - RepeatingInstruments_DoubleArm_noDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.2400” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_DoubleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_DoubleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2400"
And I click on the link labeled "Add / Edit Records"
Then I should see "Arm 1: Arm 1"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the tab labeled "Arm Two"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 1"
And I should see a link labeled exactly "1"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2400"
And I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2" and click the repeating instrument bubble for the first instance
Then I should see "(Instance #1)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# And I click on the link labeled "Record Status Dashboard"
# When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2" and click the repeating instrument bubble for the third instance
# Then I should see "(Instance #3)"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see yellow bubble with the form status "Unverified"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2400"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2400"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm Two"
Then I should see a link labeled exactly "2"

Given I click on the link labeled "Arm 1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2400"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2400"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2400"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2400"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.2400” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.2400" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2500%20-%20RepeatingInstruments_SingleArm_withDAGs.feature

Feature: E.126.2500 - RepeatingInstruments_SingleArm_withDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.2500” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_SingleArm_withDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_SingleArm_withDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2500"
And I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled "Arm 1"
And I should NOT see a link labeled "Arm Two"
And I should NOT see a link labeled exactly "1-1"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2500"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2-1" and click the repeating instrument bubble for the first instance
Then I should see "(Instance #1)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# And I click on the link labeled "Record Status Dashboard"
# When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2-1" and click the repeating instrument bubble for the third instance
# Then I should see "(Instance #3)"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see yellow bubble with the form status "Unverified"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2500"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2500"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should NOT see a link labeled exactly "2-1"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2500"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2500"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2500"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2500"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1-1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.2500” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.2500" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2600%20-%20RepeatingInstruments_SingleArm_noDAGs.feature

Feature: E.126.2600 - RepeatingInstruments_SingleArm_noDAGs

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.2600” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/RepeatingInstruments_SingleArm_noDAGs.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/RepeatingInstruments_SingleArm_noDAGs.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2600"
And I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"

Given I click on the link labeled "Record Status Dashboard"
And I should NOT see a link labeled "Arm 1"
And I should NOT see a link labeled "Arm Two"
And I should see a link labeled exactly "1"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2600"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2" and click the repeating instrument bubble for the first instance
Then I should see "(Instance #1)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# And I click on the link labeled "Record Status Dashboard"
# When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2" and click the repeating instrument bubble for the third instance
# Then I should see "(Instance #3)"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should see yellow bubble with the form status "Unverified"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2600"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2600"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled exactly "2"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2600"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2600"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2600"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2600"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the third instance
Then I should see "(Instance #3)"
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.2600” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.2600" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2700%20-%20NonLongitudinal_RepeatingInstruments_withDAGS.feature

Feature: E.126.2700 - NonLongitudinal_RepeatingInstruments_withDAGS

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.2700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_RepeatingInstruments_withDAGS.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_RepeatingInstruments_withDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2700"
And I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Status"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should NOT see a link labeled exactly "2-1"
When I locate the bubble for the "Data Types" instrument for record ID "1-1" and click the repeating instrument bubble for the second instance
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2700"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "1-1" and click the repeating instrument bubble for the first instance
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# Given I click on the link labeled "Text Validation"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click the repeating instrument bubble for the second instance
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2700"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2700"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should NOT see a link labeled exactly "1-1"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click the repeating instrument bubble for the second instance
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2700"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click the repeating instrument bubble for the second instance
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2700"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2700"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click the repeating instrument bubble for the second instance
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2700"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click the repeating instrument bubble for the second instance
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.2700” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.2700" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2800%20-%20NonLongitudinal_RepeatingInstruments_noDAGS.feature

Feature: E.126.2800 - NonLongitudinal_RepeatingInstruments_noDAGS

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.2800” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_RepeatingInstruments_noDAGS.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_RepeatingInstruments_noDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2800"
And I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Status"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should see a link labeled exactly "2"
When I locate the bubble for the "Data Types" instrument for record ID "1" and click the repeating instrument bubble for the second instance
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2800"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "1" and click the repeating instrument bubble for the first instance
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# Given I click on the link labeled "Text Validation"
# Then I should see green bubble with the form status "Complete"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click the repeating instrument bubble for the second instance
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2800"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2800"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled exactly "1"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click the repeating instrument bubble for the second instance
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2800"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click the repeating instrument bubble for the second instance
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2800"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2800"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click the repeating instrument bubble for the second instance
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2800"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click the repeating instrument bubble for the second instance
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.2800” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.2800" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.2900%20-%20NonLongitudinal_NonRepeatingInstruments_withDAGS.feature

Feature: E.126.2900 - NonLongitudinal_NonRepeatingInstruments_withDAGS

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.2900” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_NonRepeatingInstruments_withDAGS.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role and DAG1
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role and DAG2
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "DAG2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_NonRepeatingInstruments_withDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2900"
And I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Status"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should NOT see a link labeled exactly "2-1"
When I locate the bubble for the "Data Types" instrument for record ID "1-1" and click on the bubble
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2900"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument for record ID "1-1" and click on the bubble
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# Given I click on the link labeled "Record Status Dashboard"
# When I locate the bubble for the "Text Validation" instrument for record ID "2-1" and click on the bubble
# Then I should see yellow bubble with the form status "Unverified"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click on the bubble
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2900"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2900"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should NOT see a link labeled exactly "1-1"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click on the bubble
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2900"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click on the bubble
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2900"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2900"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click on the bubble
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.2900"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2-1" and click on the bubble
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.2900” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.2900" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/E/Enhance%20Form%20Status_126/E.126.3000%20-%20NonLongitudinal_NonRepeatingInstruments_noDAGS.feature

Feature: E.126.3000 - NonLongitudinal_NonRepeatingInstruments_noDAGS

As a REDCap end user I want to see that Enhance form status is functioning as expected

Scenario: Enable external Module from Control Center Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system When I click on the link labeled “General Configuration” Then I should see “General Configuration” When I enter “redcap@test.instance” into the input field labeled “Email Address of REDCap Administrator” And I click on the button labeled “Save Changes” Then I should see “Your system configuration values have now been changed”

Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Module Manager"
And I should NOT see "Enhance form status - v0.0.0"
When I click on the button labeled "Enable a module"
And I click on the button labeled Enable for the external module named "Enhance form status"
And I click on the button labeled "Enable" in the dialog box
Then I should see "Enhance form status - v0.0.0"

Scenario: Enable external module in project Given I create a new project named “E.126.3000” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/ProjectTypes/NonLongitudinal_NonRepeatingInstruments_noDAGS.xml”, and clicking the “Create Project” button And I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should NOT see “Enhance form status - v0.0.0” When I click on the button labeled “Enable a module” And I click on the button labeled Enable for the external module named “Enhance form status - v0.0.0” Then I should see “Enhance form status - v0.0.0”

# Adding Test_User1 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User2 to DataEntryPI role
Given I click on the link labeled "User Rights"
When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataEntryPI" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "DataEntryPI" row of the column labeled "Username" of the User Rights table

# Adding Test_User3 to DataManager role
When I enter "Test_User3" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "DataManager" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User3" within the "DataManager" row of the column labeled "Username" of the User Rights table

# ACTION: Import data
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/redcap_val/NonLongitudinal_NonRepeatingInstruments_noDAGS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

# E.126.800, E.126.900
And I click on the link labeled exactly "Manage"
And I click on the button labeled exactly "Configure"
Then I should see "Configure Module" in the dialog box
And I select "DataManager" on the dropdown field labeled "1. Roles that can update the form status" in the dialog box
And I select "DataEntryPI" on the dropdown field labeled "1. Roles that can view the form status" in the dialog box
Then I click on the button labeled "Save" in the dialog box
And I should see "Enhance form status - v0.0.0"
And I logout

# User can view/(Not update) Form Status
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.3000"
And I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Status"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
And I should NOT see red form status bubble
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see red bubble with the form status "Incomplete"

Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should see a link labeled exactly "2"
When I locate the bubble for the "Data Types" instrument for record ID "1" and click on the bubble
Then I should see green bubble with the form status "Complete"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see "Incomplete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set unverified"
And I logout

# User can View/Update Form Status
# Readonly Access for all instrument
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.3000"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument for record ID "1" and click on the bubble
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see "Incomplete"
And I should see red bubble with the form status "Incomplete"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
And I should see a button labeled "Set unverified"
When I click on the button labeled "Set unverified"
Then I should see yellow bubble with the form status "Unverified"

# Given I click on the link labeled "Record Status Dashboard"
# When I locate the bubble for the "Text Validation" instrument for record ID "2" and click on the bubble
# Then I should see yellow bubble with the form status "Unverified"
# When I click on the button labeled "Set incomplete"
# Then I should see red bubble with the form status "Incomplete"

# E.126.1300, E.126.1400
Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click on the bubble
Then I should see red bubble with the form status "Incomplete"
When I click on the button labeled "Set complete"
Then I should see green bubble with the form status "Complete"
And I logout

# Add DataEntryPI with 'Project Setup & Design' rights
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.3000"
Given I click on the link labeled "User Rights"
When I click on the link labeled "DataEntryPI"
Then I should see "Editing existing user role" in the dialog box
And I check the User Right named "Project Setup & Design"
Then I should see a checkbox labeled "Enhance form status" that is checked
And I click on the button labeled "Save Changes"
Then I should see "successfully edited"

# E.126.700, E.126.1000, E.126.1100
Given I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "always show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I enter "in-progress" into the input field labeled "Text that should replace 'unverified' in the form status" in the dialog box
And I enter "@EXCLUDE" into the input field labeled "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"
And I logout

Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.3000"

#VERIFY - E.126.1200 - Only Super-users can configure external Module
Given I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
And I should NOT see the button labeled "Disable"
When I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
And I should NOT see "Hide this module from non-admins in the list of enabled modules on this project" in the dialog box
And I should NOT see "The form status will be attached to the foot of the data entry form" in the dialog box
And I should NOT see "1. Roles that can update the form status" in the dialog box
And I should NOT see "1. Roles that can view the form status" in the dialog box
And I should NOT see "2. Roles that can view the form status" in the dialog box
And I should NOT see "Text that should replace 'unverified' in the form status" in the dialog box
And I should NOT see "An action tag that users can use to exclude a field from the automatic invalidation of the form status" in the dialog box
And I click on the button labeled "Cancel" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.1000, E.126.1100
Given I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled exactly "1"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click on the bubble
Then I should NOT see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set complete"
# And I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set unverified"
Then I should see green bubble with the form status "Complete"
And I enter "ABC" into the textarea field labeled "Notes Box"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see green bubble with the form status "Complete"
When I clear field and enter "ABC" into the input field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see yellow bubble with the form status "in-progress"
And I logout

Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.3000"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click on the bubble
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should see yellow bubble with the form status "in-progress"
# And I should see a button labeled "Set incomplete"
And I should see a button labeled "Set complete"
# Verify E.126.1000
And I should see a button labeled "Set in-progress"
And I should NOT see a button labeled "Set unverified"
And I logout

# E.126.700
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.3000"
When I click on the link labeled exactly "Manage"
Then I should see "External Modules - Project Module Manager"
And I click on the button labeled "Configure"
Then I should see "Configure Module" in the dialog box
When I select "never show the form status in the data entry form footer" on the dropdown field labeled "The form status will be attached to the foot of the data entry form"
And I click on the button labeled "Save" in the dialog box
Then I should see "Enhance form status - v0.0.0"

# Verify E.126.700
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.3000"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click on the bubble
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
And I should NOT see yellow form status bubble
And I logout

# Verify E.126.700
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "E.126.3000"
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument for record ID "2" and click on the bubble
# Then I should NOT see a button labeled "Set incomplete"
And I should NOT see a button labeled "Set complete"
And I should NOT see a button labeled "Set in-progress"
# And I should NOT see "Form Status"
And I should NOT see "Complete?"
Then I should NOT see yellow form status bubble
And I logout

Scenario: E.126.100 - Disable external module # Disable external module in project Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” And I click on the link labeled “E.126.3000” Given I click on the link labeled exactly “Manage” Then I should see “External Modules - Project Module Manager” And I should see “Enhance form status - v0.0.0” When I click on the button labeled exactly “Disable” Then I should see “Disable module?” in the dialog box When I click on the button labeled “Disable module” in the dialog box Then I should NOT see “Enhance form status - v0.0.0”

Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                                            | List of Data Changes OR Fields Exported                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |                                                                                           |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline                                                                   |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | show-form-status-inline, text-representing-in-progress, ignore-for-form-status-check      |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project | reserved-hide-from-non-admins-in-project-list, user-roles-can-update, user-roles-can-view |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |                                                                                           |

# Disable external module in Control Center
Given I click on the link labeled "Control Center"
When I click on the link labeled exactly "Manage"
Then I should see "Enhance form status - v0.0.0"
When I click on the button labeled "View Usage"
Then I should see "None" in the dialog box
And I should NOT see "E.126.3000" in the dialog box
And I close the dialog box for the external module "Enhance form status"
And I click on the button labeled exactly "Disable"
Then I should see "Disable module?" in the dialog box
When I click on the button labeled "Disable module" in the dialog box
Then I should NOT see "Enhance form status - v0.0.0"

# Not checking 'Delete Version' for now as this is used for deleting lower versions.
# If the entire EM is deleted REDCap throws an error

Given I click on the link labeled "User Activity Log"
Then I should see a table header and row containing the following values in a table:
  | Time             | User       | Event                                                                             |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for system                   |
  | mm/dd/yyyy hh:mm | test_admin | Disable external module "enhance_form_status_v0.0.0" for project                  |
  | mm/dd/yyyy hh:mm | test_admin | Modify configuration for external module "enhance_form_status_v0.0.0" for project |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for project                   |
  | mm/dd/yyyy hh:mm | test_admin | Enable external module "enhance_form_status_v0.0.0" for system                    |

And I logout

# Verify no exceptions are thrown in the system
Given I open Email
Then I should NOT see an email with subject "REDCap External Module Hook Exception - enhance_form_status"

Comments:

Comment:

Author: rmh54 Updated on: 4/1/2025 2:26:18 PM

Comment body:

As discussed, this needs to be tested for each (or most or whatever is deemed appropriate) ‘flavour’ of project i.e. whether it is longitudinal, uses DAGs, arms or has repeating instruments

Comment:

Author: MintooXavier Updated on: 7/10/2025 2:12:01 PM

Comment body:

Added scripts for 16 project types


Timeline events:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:34:31 PM Label name: Automated Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:34:31 PM Label name: External Module Label description:

LABELLED | User: MintooXavier Created on: 2/3/2025 3:34:32 PM Label name: Gherkin Label description: Uses a Gherkin syntax

RENAMED TITLE | User: MintooXavier Created on: 2/3/2025 3:34:44 PM Previous title: 126. Current title: 126. Enhance form status

LABELLED | User: MintooXavier Created on: 2/27/2025 2:22:19 PM Label name: Bug Label description: Something isn’t working

UNLABELLED | User: MintooXavier Created on: 3/6/2025 3:06:52 PM Label name: Bug Label description: Something isn’t working

ASSIGNED | User: MintooXavier Created on: 3/18/2025 11:54:15 AM Assignee: MintooXavier

ISSUE COMMENT | User: rmh54 Created on: 4/1/2025 2:26:18 PM Issue comment body:

As discussed, this needs to be tested for each (or most or whatever is deemed appropriate) ‘flavour’ of project i.e. whether it is longitudinal, uses DAGs, arms or has repeating instruments

ISSUE COMMENT | User: MintooXavier Created on: 7/10/2025 2:12:01 PM Issue comment body:

Added scripts for 16 project types


————— feature ends —————



Feature: 116. Secondary Unique Field

Id: I_kwDOIaOBn86LWc64 Uid: redcap_cypress-55
Author: MintooXavier Created: 6/6/2024 10:32:07 AM
Assignees: MintooXavier || LawrenceFayers Resource path: /CCTC-team/redcap_cypress/issues/55
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:06:25 PM
Locked: false Participants: MintooXavier || LawrenceFayers

Project item body:

Brief description:
You may designate a text field to serve as a unique constraint whose value cannot be duplicated or shared by any other record in the project. When a value is entered or imported for the secondary unique field, it will be checked in real time to ensure it is not shared by another record, and if so, it will ask the user to enter another value.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/116_secondary_unique_field.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Secondary%20Unique%20Field_116/D.116.100%20-%20Secondary%20Unique%20Field.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Secondary%20Unique%20Field_116/D.116.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Secondary%20Unique%20Field_116/D.116.300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Secondary%20Unique%20Field_116/D.116.400%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/116_secondary_unique_field.spec

D.116.100 - The system shall provide the ability to enable/disable secondary unique field
D.116.200 - The system shall support the ability to display secondary unique field along with record ID in Record Status Dashboard
D.116.300 - The system shall support the ability to display secondary unique field in reports
D.116.400 - The system shall support the ability to include secondary unique field while downloading PDF of instruments

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Secondary%20Unique%20Field_116/D.116.100%20-%20Secondary%20Unique%20Field.feature

Feature: D.116.100 - The system shall provide the ability to enable/disable secondary unique field

As a REDCap end user I want to see that a secondary field can be made unique or otherwise as expected.

Scenario: D.116.100 - Enable Secondary Unique Field Given I login to REDCap with the user “Test_User1” And I create a new project named “D.116.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

Given I click on the link labeled "Designer"
And I click on the instrument labeled "Text Validation"
And I click on the first button labeled "Add Field"
When I select "Text Box (Short Text, Number, Date/Time, ...)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "secondary_id" into the Variable Name of the open "Add New Field" dialog box
And I enter "Secondary ID" into the Field Label of the open "Add New Field" dialog box
Then I click on the button labeled "Save"

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
And I enter "1" into the data entry form field labeled "Secondary ID"
Then I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "successfully edited"

And I click on the link labeled "Project Setup"
When I click on the button labeled "Additional customizations"
And I check the checkbox labeled "Designate a Secondary Unique Field"

And I select "secondary_id - Secondary ID" on the dropdown field labeled "Designate a Secondary Unique Field"
Then I should see a checkbox labeled "Display the value of the Secondary Unique Field next to each record name displayed?" that is checked
And I should see a checkbox labeled "Display the field label of the Secondary Unique Field when displaying the value?" that is checked
And I check the checkbox labeled "PDF Customizations"
And I should see the dropdown field labeled "3)" with the option 'Keep it displayed' selected
And I click on the button labeled "Save"
Then I should see "Success! Your changes have been saved"

#VERIFY_LOG: Logging Table
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
    | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
    | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Make project customizations             |

##VERIFY D.116.200
Given I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID          |
  | 1 (Secondary ID 1) |

##VERIFY D.116.400
And I click on the link labeled exactly "1"
When I click on the button labeled "Choose action for record"
And I click on the link labeled "Download PDF of record data for all instruments/events"
Then I should see a downloaded file named "D116100_yyyy_mm_dd_hhmm.pdf"
Then I should see the following values in the downloaded PDF
  | Record ID 1 (Secondary ID 1) (Event 1) |

##VERIFY D.116.300
Given I click on the link labeled "Data Exports, Reports, and Stats"
When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID          |
  | 1 (Secondary ID 1) |

Given I click on the link labeled "Project Setup"
When I click on the button labeled "Additional customizations"
And I uncheck the checkbox labeled "Display the field label of the Secondary Unique Field when displaying the value?"
And I click on the button labeled "Save"
Then I should see "Success! Your changes have been saved"

Given I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1 (1)     |

And I click on the link labeled exactly "1"
When I click on the button labeled "Choose action for record"
And I click on the link labeled "Download PDF of record data for all instruments/events"
Then I should see a downloaded file named "D116100_yyyy_mm_dd_hhmm.pdf"
Then I should see the following values in the downloaded PDF
  | Record ID 1 (1) (Event 1) |

Given I click on the link labeled "Data Exports, Reports, and Stats"
When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID |
  | 1 (1)     |

# Secondary Unique Field should not have duplicate values
Given I click on the link labeled "Record Status Dashboard"
And I click on the button labeled "Add new record for this arm"
When I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
And I enter "1" into the data entry form field labeled "Secondary ID"
Then I should see "DUPLICATE VALUE!" in the dialog box
And I click on the button labeled "Close" in the dialog box
And I clear field and enter "2" into the input field labeled "Secondary ID"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "successfully added"

Given I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1 (1)     |
  | 2 (2)     |

Given I click on the link labeled "Project Setup"
When I click on the button labeled "Additional customizations"
Then I uncheck the checkbox labeled "Display the value of the Secondary Unique Field next to each record name displayed?"
And I click on the button labeled "Save"
Then I should see "Success! Your changes have been saved"

Given I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1         |
  | 2         |

And I click on the link labeled exactly "1"
When I click on the button labeled "Choose action for record"
And I click on the link labeled "Download PDF of record data for all instruments/events"
Then I should see a downloaded file named "D116100_yyyy_mm_dd_hhmm.pdf"
Then I should see the following values in the downloaded PDF
  | Record ID 1 (Event 1) |

Given I click on the link labeled "Data Exports, Reports, and Stats"
When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID |
  | 1         |
  | 2         |

And I click on the link labeled "Project Setup"
When I click on the button labeled "Additional customizations"
Then I check the checkbox labeled "Display the value of the Secondary Unique Field next to each record name displayed?"
Then I check the checkbox labeled "PDF Customizations"
And I select "Hide it" on the dropdown field labeled "3)"
And I click on the button labeled "Save"
Then I should see "Success! Your changes have been saved"

Given I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1 (1)     |
  | 2 (2)     |

And I click on the link labeled exactly "1"
When I click on the button labeled "Choose action for record"
And I click on the link labeled "Download PDF of record data for all instruments/events"
Then I should see a downloaded file named "D116100_yyyy_mm_dd_hhmm.pdf"
Then I should see the following values in the downloaded PDF
  | Record ID 1 (Event 1) |

Given I click on the link labeled "Data Exports, Reports, and Stats"
When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID |
  | 1 (1)     |
  | 2 (2)     |

Scenario: Diasble Secondary Unique Field Given I click on the link labeled “Project Setup” When I click on the button labeled “Additional customizations” Then I uncheck the checkbox labeled “Designate a Secondary Unique Field” And I click on the button labeled “Save” Then I should see “Success! Your changes have been saved”

Given I click on the link labeled "Record Status Dashboard"
And I click on the button labeled "Add new record for this arm"
When I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
And I enter "2" into the data entry form field labeled "Secondary ID"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "successfully added"

Given I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1         |
  | 2         |
  | 3         |
  
And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Secondary%20Unique%20Field_116/D.116.200%20-%20REDUNDANT.feature

Feature: D.116.200 - The system shall support the ability to display secondary unique field along with record ID in Record Status Dashboard

This feature test is REDUNDANT and can be viewed in D.116.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Secondary%20Unique%20Field_116/D.116.300%20-%20REDUNDANT.feature

Feature: D.116.300 - The system shall support the ability to display secondary unique field in reports

This feature test is REDUNDANT and can be viewed in D.116.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Secondary%20Unique%20Field_116/D.116.400%20-%20REDUNDANT.feature

Feature: D.116.400 - The system shall support the ability to include secondary unique field while downloading PDF of instruments

This feature test is REDUNDANT and can be viewed in D.116.100


Comments:

Comment:

Author: MintooXavier Updated on: 10/1/2024 12:54:44 PM

Comment body:
  1. I have added a new step definition for verifying PDF.
  2. The script was written according to the word document but I have restructured it so that all combinations of the checks are done for record status dashboard, reports and PDF.

Review completed. Test Pass

Comment edits:

Created: 10/1/2024 12:54:44 PM Edited on: 10/1/2024 12:54:44 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. I have added a new step definition for verifying PDF.
  2. The script was written according to the word document but I have restructured it so that all combinations of the checks are done for record status dashboard, reports and PDF.

Review completed. Test Pass

Created: 10/1/2024 12:54:44 PM Edited on: 10/1/2024 12:09:39 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. I have added a new step definition for verifying PDF.
  2. I have restructured it so that all combinations of the checks are done for record status dashboard, reports and PDF.

Review completed. Test Pass


Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 10:32:07 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 10:32:08 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 10:32:08 AM Assignee: MintooXavier

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:48:11 PM Previous title: 17. Secondary Unique Field Current title: 116. Secondary Unique Field

ASSIGNED | User: LawrenceFayers Created on: 9/26/2024 12:44:59 PM Assignee: LawrenceFayers

UNASSIGNED | User: LawrenceFayers Created on: 9/26/2024 1:14:24 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 10/1/2024 12:09:39 PM Issue comment body:
  1. I have added a new step definition for verifying PDF.
  2. The script was written according to the word document but I have restructured it so that all combinations of the checks are done for record status dashboard, reports and PDF.

Review completed. Test Pass

ASSIGNED | User: MintooXavier Created on: 11/13/2024 10:38:43 AM Assignee: MintooXavier

UNLABELLED | User: MintooXavier Created on: 11/13/2024 12:00:29 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/13/2024 12:00:29 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 11/13/2024 12:00:29 PM Label name: Automated Label description:


————— feature ends —————



Feature: 21. Export Data

Id: I_kwDOIaOBn86RK9ig Uid: redcap_cypress-76
Author: MintooXavier Created: 7/29/2024 2:22:14 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/76
Milestone: |none| Labels: Question || Core feature || Gherkin || Automated || PQ

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:53:48 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to export data from a project.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/21_export_data.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.100%20-%20Export%20PHI.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.200%20-%20Export%20Data%20to%20External%20Format.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.300%20-%20Export%20All%20Fields.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.400%20-%20Export%20Specific%20Forms.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.600%20-%20User%20Access%20Restrictions.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Export_21/D.21.700%20-%20Verify%20File%20Hash%20Value.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/21_export_data.spec

B.5.21.100 - User Interface: The system shall support the ability to identify data as containing a protected health information identifier.
B.5.21.200 - User Interface: The system shall allow data to be exported in the following formats: CSV, SPSS, SAS, R, STATA, and CDISC ODM (XML).
B.5.21.300 - User Interface: The system shall allow for exporting every field in a database.
B.5.21.400 - User Interface: The system shall support the ability to select specific forms to export.
B.5.21.500 - User Interface: The system shall have the following data de-identification options: Known Identifiers | Ability to remove all known identifier fields | Ability to Hash the Study ID | Free Form Text | Remove unvalidated text fields | Remove notes box fields | Date Fields | Remove all Date Fields | Shift all dates by value between 0 and 364 days | Also shift all survey completion timestamps by value between 0 and 364 days.
B.5.21.600 - User Interface: The system shall support the ability to restrict users from exporting data.
D.21.700 - Verify hash value of the exported file formats: CSV, SPSS, SAS, R, STATA, and CDISC ODM (XML).

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.100%20-%20Export%20PHI.feature

Feature: User Interface: The system shall support the ability to identify data as containing a protected health information identifier.

As a REDCap end user I want to see that export data is functioning as expected

Scenario: B.5.21.100.100 Limit identified data export #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.5.21.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_5.21.xml”, and clicking the “Create Project” button

#SETUP_USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
Then I should see "Assign To DAG" on the role selector dropdown

When I select "4_NoAccess_Noexport" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see a table header and rows containing the following values in a table:
  | Role name           | Username   |
  | 4_NoAccess_Noexport | test_user1 |

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label  | Field Attributes (Field Type, Validation, Choices, Calculations, etc.) |
  | [identifier]          | Identifier   | text, Identifier                                                       |
  | [identifier_2]        | Identifier 2 | text, Identifier                                                       |
  | [ptname]              | Name         | text                                                                   |
  | [radio]               | radio        | radio, Identifier                                                      |


##ACTION: change identifier status
When I click on the link labeled "Project Setup"
Then I should see "Design your data collection instruments & enable your surveys"

When I click on the link labeled "Check For Identifiers"
Then I should see a table header and rows containing the following values in a table:
  | Variable Name | Field Label   | Identifier? |
  | identifier    | Identifier    | [✓]         |
  | identifier_2  | Identifier  2 | [✓]         |
  | ptname        | Name          | [ ]         |
  | radio         | radio         | [✓]         |

When I uncheck the checkbox labeled "identifier_2"
And I check the checkbox labeled "ptname"
And I click on the button labeled "Update Identifiers"
Then I should see a table header and rows containing the following values in a table:
  | Variable Name | Field Label  | Identifier? |
  | identifier    | Identifier   | [✓]         |
  | identifier_2  | Identifier 2 | [ ]         |
  | ptname        | Name         | [✓]         |
  | radio         | radio        | [✓]         |

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label  | Field Attributes (Field Type, Validation, Choices, Calculations, etc.) |
  | [identifier]          | Identifier   | text, Identifier                                                       |
  | [identifier_2]        | Identifier 2 | text                                                                   |
  | [ptname]              | Name         | text, Identifier                                                       |
  | [radio]               | radio        | radio, Identifier                                                      |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

##ACTION: export all
Given I click on the "Export Data" button for the "All data (all records and fields)" report in the My Reports & Exports table
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box

##VERIFY: User can see all variables, including identifier, identifier_2 and name, survey_timestamp, radio button
Then I should have a "csv" file that contains the headings below
  | record_id | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | redcap_survey_identifier | data_types_timestamp | ptname | textbox | radio | notesbox | identifier | identifier_2 | date_ymd | datetime_ymd_hmss | data_types_complete |

And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
##ACTION: remove identifiers from export
Given I click on the "Export Data" button for the "All data (all records and fields)" report in the My Reports & Exports table
Then I should see "Known Identifiers"

When I check the checkbox labeled "Remove All Identifier Fields" in the dialog box
And I check the checkbox labeled "Hash the Record ID field" in the dialog box
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box

##VERIFY: User can see all variables except for [identifier], [ptname], [radio], [redcap_survey_identifer] and check record id #ed
Then I should have a "csv" file that contains the headings below
  | record_id | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | data_types_timestamp | textbox | notesbox | identifier_2 | date_ymd | datetime_ymd_hmss | data_types_complete |

And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
##ACTION: add identifiers back and remove unvalidated texts fields and notesbox fields
Given I click on the "Export Data" button for the "All data (all records and fields)" report in the My Reports & Exports table
When I uncheck the checkbox labeled "Remove All Identifier Fields" in the dialog box
And I uncheck the checkbox labeled "Hash the Record ID field" in the dialog box
And I check the checkbox labeled "Remove unvalidated Text fields" in the dialog box
And I check the checkbox labeled "Remove Notes/Essay box fields" in the dialog box
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box
##VERIFY: User can see all variables except for unvalidated fields and notes fields
Then I should have a "csv" file that contains the headings below
  | record_id | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | redcap_survey_identifier | data_types_timestamp | radio | date_ymd | datetime_ymd_hmss | data_types_complete |

And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
##ACTION: remove date, datetime fields
Given I click on the "Export Data" button for the "All data (all records and fields)" report in the My Reports & Exports table
When I uncheck the checkbox labeled "Remove unvalidated Text fields" in the dialog box
And I uncheck the checkbox labeled "Remove Notes/Essay box fields" in the dialog box
And I check the checkbox labeled "Remove all date and datetime fields" in the dialog box
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box
##VERIFY: User can see all variables except for date and datetime fields
Then I should have a "csv" file that contains the headings below
  | record_id | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | redcap_survey_identifier | data_types_timestamp | ptname | textbox | radio | notesbox | identifier | identifier_2 | data_types_complete |

And I click on the button labeled "Close" in the dialog box

##ACTION: create record and enter dates in survey mode
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record"
Then I should see "Adding new Record ID 5"

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument

And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label and will leave the tab open when I return to the REDCap project
Then I should see "Please complete the survey below"

And I verify "yyyy-mm-dd" is within the data entry form field labeled "date YMD"
And I verify "yyyy-mm-dd hh:mm:ss" is within the data entry form field labeled "datetime YMD HMSS"
When I click on the button labeled "Submit"
#And I click on the button labeled "Close survey"

#Manual Only: Surveys open in the same window (by default) in automated tests (automated tests this in B.3.15.500 - Survey Alerts and Prompts)

Given I return to the REDCap page I opened the survey from
And I click on the button labeled "Leave without saving changes" in the dialog box
And I click on the link labeled "Record Status Dashboard"
And I should see the "Completed Survey Response" icon for the "Data Types" instrument for record "5"

#FUNCTIONAL_REQUIREMENT
##ACTION: shift all dates
Given I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the "Export Data" button in the row labeled "All data (all records and fields)"

And I check the checkbox labeled "Shift all dates by value between 0 and 364 days" in the dialog box
And I check the checkbox labeled "Also shift all survey completion timestamps by value between 0 and 364 days" in the dialog box
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"
And I should see a dialog containing the following text: "All dates within your data have been DATE SHIFTED to an unknown value between 0 and  364 days."

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box
##VERIFY:
#MUser can see all variables with dates shifted ([data_types_timestamp]=! today) AND ([date_ymd]=! today) AND ([date_ymd_hmss]=! today)

Then I should see the latest downloaded "csv" file containing the headings below
  | record_id | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | redcap_survey_identifier | data_types_timestamp | ptname | textbox | radio | notesbox | identifier | identifier_2 | date_ymd | datetime_ymd_hmss | data_types_complete |
And I verify the timestamp in column labeled "data_types_timestamp" for record "5" has shifted today's date in the latest downloaded "csv"
And I verify the date in column labeled "date_ymd" for record "5" has shifted today's date in the latest downloaded "csv"
And I verify the datetime in column labeled "datetime_ymd_hmss" for record "5" has shifted today's date in the latest downloaded "csv"

#M: Close the report & refresh page

And I click on the button labeled "Close" in the dialog box
And I logout

Given I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
When I click on the link labeled "B.5.21.100.100"
And I click on the link labeled "Data Exports, Reports, and Stats"

#FUNCTIONAL_REQUIREMENT
##ACTION: limited access
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

And I should NOT see a button labeled "Export Data"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.200%20-%20Export%20Data%20to%20External%20Format.feature

Feature: User Interface: The system shall allow data to be exported in the following formats: CSV, SPSS, SAS, R, STATA, and CDISC ODM (XML).

As a REDCap end user I want to see that export data is functioning as expected

Scenario: B.5.21.200.100 Export data format #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.5.21.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#FUNCTIONAL_REQUIREMENT
##ACTION: export CSV raw
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

Given I click on the button labeled "Export Data" for the report named "All data (all records and fields)"
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box
Then I should see a downloaded file named "B521200100_DATA_yyyy-mm-dd_hhmm.csv"
#Manual Close file

And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
##ACTION: export CSV (labels)
When I click on the button labeled "Export Data" for the report named "All data (all records and fields)"
And I click on the radio labeled "CSV / Microsoft Excel (labels)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (labels)" format in the dialog box
Then I should see the latest downloaded "csv" file containing the headings below
  | "Record ID" | "Event Name" | "Repeat Instrument" | "Repeat Instance" | "Data Access Group" | "Survey Identifier" | Name | Email | Complete? | Name | "Text box" | Text2 | radio | "Notes box" | "Multiple Choice Dropdown Manual" | "Multiple Choice dropdown Auto" | "Radio Button Auto" | "Radio Button Manual" | "Checkbox (choice=Checkbox1)" | "Checkbox (choice=Checkbox2)" | "Checkbox (choice=Checkbox3)" | "Calc Test" | "Calculated Field" | Signature | "File Upload" | Required | Identifier | Identifier | "Edit Field" | "date YMD" | "date MDY" | "date DMY" | "time HH:MM:SS" | "time HH:M" | "time MM:SS" | "datetime YMD HMSS" | "datetime YMD HM" | "datetime MDY HMSS" | "datetime DMY HMSS" | "Integer " | Numbers | "Numbers 1 decimal place - period as decimal " | "Numbers 1 decimal place - comma as decimal " | "Letters only" | "MRN (10 Digits)" | "MRN (generic)" | "Social Security Number (US)" | "Phone (North America)" | "Phone (Australia)" | "Phone (UK)" | "Zipcode (US)" | "Postal code 5 (France)" | "Postal Code (Australia)" | "Postal Code (Canada)" | Complete? | "Survey Timestamp" | Name | Email | Complete? | "Survey Timestamp" | Name | Email | DOB | "Signature " | Complete? |
#Manual Close file

And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
##ACTION: export SPSS
Given I click on the button labeled "Export Data" for the report named "Test Report"
And I click on the radio labeled "SPSS Statistical Software" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "SPSS Statistical Software" format in the dialog box
Then I should see a downloaded file named "B521200100-TestReport_SPSS_yyyy-mm-dd_hhmm.sps"
#Manual Close file

And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
##ACTION: export SAS
Given I click on the button labeled "Export Data" for the report named "Test Report"
And I click on the radio labeled "SAS Statistical Software" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"
Given I click on the download icons to receive the files for the "SAS Statistical Software" format in the dialog box
Then I should see a downloaded file named "B521200100-TestReport_SAS_yyyy-mm-dd_hhmm.sas"
#Manual Close file

And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
##ACTION: export R
Given I click on the button labeled "Export Data" for the report named "All data (all records and fields)"
And I click on the radio labeled "R Statistical Software" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "R Statistical Software" format in the dialog box

Then I should see a downloaded file named "B521200100_R_yyyy-mm-dd_hhmm.r"
#Manual Close file

And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
##ACTION: export STATA
Given I click on the button labeled "Export Data" for the report named "Test Report"
And I click on the radio labeled "Stata Statistical Software" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "Stata Statistical Software" format in the dialog box
Then I should see a downloaded file named "B521200100-TestReport_STATA_yyyy-mm-dd_hhmm.do"
#Manual Close file

And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
##ACTION: export XML
Given I click on the button labeled "Export Data" for the report named "All data (all records and fields)"
And I click on the radio labeled "CDISC ODM (XML)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CDISC ODM (XML)" format in the dialog box
Then I should see a downloaded file named "B521200100_CDISC_ODM_yyyy-mm-dd_hhmm.xml"
#Manual Close file

And I click on the button labeled "Close" in the dialog box

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.300%20-%20Export%20All%20Fields.feature

Feature: User Interface: The system shall allow for exporting every field in a database.

As a REDCap end user I want to see that export data is functioning as expected

Scenario: B.5.21.300.100 Export all fields #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.5.21.300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_5.21.xml”, and clicking the “Create Project” button

#FUNCTIONAL_REQUIREMENT
##ACTION: export CSV and confirm column
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

Given I click on the button labeled "Export Data"
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box

##VERIFY:
Then I should have a "csv" file that contains the headings below
  | record_id | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | redcap_survey_identifier | data_types_timestamp | ptname | textbox | radio | notesbox | identifier | identifier_2 | date_ymd | datetime_ymd_hmss | data_types_complete |
#M: Close the report
And I click on the button labeled "Close" in the dialog box

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.400%20-%20Export%20Specific%20Forms.feature

Feature: User Interface: The system shall support the ability to select specific forms to export.

As a REDCap end user I want to see that export data is functioning as expected

Scenario: B.5.21.400.100 Export select forms #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.5.21.400.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#FUNCTIONAL_REQUIREMENT
##ACTION: export CSV and confirm column
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the "Make custom selections" button for the "Selected instruments" report in the My Reports & Exports table
# For the below 2 Steps - When the field type is multiselect, the option is not getting selected. Hence changed to dropdown.
And I select "Text Validation" on the dropdown field labeled "Instruments"
And I select "Event 1 (Arm 1: Arm 1)" on the dropdown field labeled "Events"
And I click on the "Export Data" button for the "Selected instruments" report in the My Reports & Exports table
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box
Then I should have a "csv" file that contains the headings below
  | record_id | redcap_event_name | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | redcap_survey_identifier | name | email | text_validation_complete |

And I click on the button labeled "Close" in the dialog box

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.500%20-%20REDUNDANT.feature

Feature: User Interface: The system shall have the following data de-identification options: Known Identifiers | Ability to remove all known identifier fields | Ability to Hash the Study ID | Free Form Text | Remove unvalidated text fields | Remove notes box fields | Date Fields | Remove all Date Fields | Shift all dates by value between 0 and 364 days | Also shift all survey completion timestamps by value between 0 and 364 days

This feature test is REDUNDANT and can be viewed in B.5.21.100.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Export%20Data_21/B.5.21.600%20-%20User%20Access%20Restrictions.feature

Feature: User Interface: The system shall support the ability to restrict users from exporting data.

As a REDCap end user I want to see that export data is functioning as expected

Scenario: B.5.21.600.100 Restrict users from exporting data #SETUP Given I login to REDCap with the user “Test_User1” And I create a new project named “B.5.21.600.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_5.21.xml”, and clicking the “Create Project” button

#FUNCTIONAL_REQUIREMENT
##ACTION: export CSV and confirm can export
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

#VERIFY: can export
Given I click on the button labeled "Export Data"
#Given I click on the "Export Data" button for "All data (all records and fields)" report in the My Reports & Exports table
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box
Then I should have a "csv" file that contains the headings below
  | record_id | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | redcap_survey_identifier | data_types_timestamp | ptname | textbox | radio | notesbox | identifier | identifier_2 | date_ymd | datetime_ymd_hmss | data_types_complete |
And I click on the button labeled "Close" in the dialog box


# #USER_RIGHTS
And I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "4_NoAccess_Noexport" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see a table header and rows containing the following values in a table:
  | Role name           | Username   |
  | 4_NoAccess_Noexport | test_user1 |


#FUNCTIONAL_REQUIREMENT
##ACTION: export CSV and confirm can export
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

#VERIFY: cannot see export
And I should NOT see a button labeled "Export Data"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Export_21/D.21.700%20-%20Verify%20File%20Hash%20Value.feature

Feature: D.21.700 - Verify hash value of the exported file formats: CSV, SPSS, SAS, R, STATA, and CDISC ODM (XML).

As a REDCap end user I want to see that export data is verified

Scenario: B.5.21.200.100 Export data format #SETUP Given I login to REDCap with the user “Test_User1” And I create a new project named “D.21.700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#FUNCTIONAL_REQUIREMENT
##ACTION: export CSV raw
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

Given I click on the button labeled "Export Data" for the report named "All data (all records and fields)"
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box
Then I should see a downloaded file named "D217000_DATA_yyyy-mm-dd_hhmm.csv"
#Manual Close file

And I click on the button labeled "Close" in the dialog box
And I should have the latest downloaded "csv" file with SHA256 hash value "e358fffbfc5842686937b7e8a9c47dc0beb3dd184fcc2471410674a49ab9fc90"

#FUNCTIONAL_REQUIREMENT
##ACTION: export CSV (labels)
When I click on the button labeled "Export Data" for the report named "All data (all records and fields)"
And I click on the radio labeled "CSV / Microsoft Excel (labels)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (labels)" format in the dialog box
Then I should see the latest downloaded "csv" file containing the headings below
  | "Record ID" | "Event Name" | "Repeat Instrument" | "Repeat Instance" | "Data Access Group" | "Survey Identifier" | Name | Email | Complete? | Name | "Text box" | Text2 | radio | "Notes box" | "Multiple Choice Dropdown Manual" | "Multiple Choice dropdown Auto" | "Radio Button Auto" | "Radio Button Manual" | "Checkbox (choice=Checkbox1)" | "Checkbox (choice=Checkbox2)" | "Checkbox (choice=Checkbox3)" | "Calc Test" | "Calculated Field" | Signature | "File Upload" | Required | Identifier | Identifier | "Edit Field" | "date YMD" | "date MDY" | "date DMY" | "time HH:MM:SS" | "time HH:M" | "time MM:SS" | "datetime YMD HMSS" | "datetime YMD HM" | "datetime MDY HMSS" | "datetime DMY HMSS" | "Integer " | Numbers | "Numbers 1 decimal place - period as decimal " | "Numbers 1 decimal place - comma as decimal " | "Letters only" | "MRN (10 Digits)" | "MRN (generic)" | "Social Security Number (US)" | "Phone (North America)" | "Phone (Australia)" | "Phone (UK)" | "Zipcode (US)" | "Postal code 5 (France)" | "Postal Code (Australia)" | "Postal Code (Canada)" | Complete? | "Survey Timestamp" | Name | Email | Complete? | "Survey Timestamp" | Name | Email | DOB | "Signature " | Complete? |
#Manual Close file

And I click on the button labeled "Close" in the dialog box
And I should have the latest downloaded "csv" file with SHA256 hash value "87b2b7520ffe04648351ad3b01e14f58b201e70311cf72c12db09e448f127aaf"

#FUNCTIONAL_REQUIREMENT
##ACTION: export SPSS
Given I click on the button labeled "Export Data" for the report named "Test Report"
And I click on the radio labeled "SPSS Statistical Software" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "SPSS Statistical Software" format in the dialog box
Then I should see a downloaded file named "D21700-TestReport_SPSS_yyyy-mm-dd_hhmm.sps"
#Manual Close file

And I click on the button labeled "Close" in the dialog box
And I should have the latest downloaded "sps" file with SHA256 hash value "11bb1c4ff94b48073df83bd478a353ad8cab1d04a3242567162c0f663085c95a"

#FUNCTIONAL_REQUIREMENT
##ACTION: export SAS
Given I click on the button labeled "Export Data" for the report named "Test Report"
And I click on the radio labeled "SAS Statistical Software" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"
Given I click on the download icons to receive the files for the "SAS Statistical Software" format in the dialog box
Then I should see a downloaded file named "D21700-TestReport_SAS_yyyy-mm-dd_hhmm.sas"
#Manual Close file

And I click on the button labeled "Close" in the dialog box
And I should have the latest downloaded "sas" file with SHA256 hash value "7389b4749622c71f4bd7ab2666b9ae0830bd16de77aa84420849dd5a2caca62e"

#FUNCTIONAL_REQUIREMENT
##ACTION: export R
Given I click on the button labeled "Export Data" for the report named "All data (all records and fields)"
And I click on the radio labeled "R Statistical Software" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "R Statistical Software" format in the dialog box

Then I should see a downloaded file named "B521200100_R_yyyy-mm-dd_hhmm.r"
#Manual Close file

And I click on the button labeled "Close" in the dialog box
And I should have the latest downloaded "r" file with SHA256 hash value "5986730a9720472afbb1a3927ef7d0f024637ea74ccde0140c869fd19ad1e7a6"

#FUNCTIONAL_REQUIREMENT
##ACTION: export STATA
Given I click on the button labeled "Export Data" for the report named "Test Report"
And I click on the radio labeled "Stata Statistical Software" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "Stata Statistical Software" format in the dialog box
Then I should see a downloaded file named "B521200100-TestReport_STATA_yyyy-mm-dd_hhmm.do"
#Manual Close file

And I click on the button labeled "Close" in the dialog box
And I should have the latest downloaded "do" file with SHA256 hash value "489ffb7820ec0d3b84f7a0edc4c45f8f72311168aef9449b5b50babbc096cd5b"

#FUNCTIONAL_REQUIREMENT
##ACTION: export XML
Given I click on the button labeled "Export Data" for the report named "All data (all records and fields)"
And I click on the radio labeled "CDISC ODM (XML)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CDISC ODM (XML)" format in the dialog box
Then I should see a downloaded file named "B521200100_CDISC_ODM_yyyy-mm-dd_hhmm.xml"
#Manual Close file

And I click on the button labeled "Close" in the dialog box
And I should have the latest downloaded "xml" file with SHA256 hash value "94b42c09dcdac6a324b309d75c00e7d7a5e43e2b9d37e2b2b57f32b98c91f9b4"
And I logout

Comments:

Comment:

Author: MintooXavier Updated on: 8/5/2024 12:55:19 PM

Comment body:

Scripts pre-reviewed:

  1. B.5.21.100 - Export PHI
  2. B.5.21.200 - Export Data to External Format
  3. B.5.21.300 - Export All Fields
  4. B.5.21.400 - Export Specific Forms
  5. B.5.21.500 - REDUNDANT
  6. B.5.21.600 - User Access Restrictions

All 6 scripts pass

Comment edits:

Created: 8/5/2024 12:55:19 PM Edited on: 8/5/2024 12:55:19 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed:

  1. B.5.21.100 - Export PHI
  2. B.5.21.200 - Export Data to External Format
  3. B.5.21.300 - Export All Fields
  4. B.5.21.400 - Export Specific Forms
  5. B.5.21.500 - REDUNDANT
  6. B.5.21.600 - User Access Restrictions

All 6 scripts pass

Created: 8/5/2024 12:41:20 PM Edited on: 8/5/2024 12:41:20 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed:

  1. B.5.21.100 - Export PHI
  2. B.5.21.200 - Export Data to External Format
  3. B.5.21.300 - Export All Fields
  4. B.5.21.400 - Export Specific Forms

Created: 8/5/2024 12:41:20 PM Edited on: 8/5/2024 12:17:48 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed:

  1. B.5.21.100 - Export PHI
  2. B.5.21.200 - Export Data to External Format

Comment:

Author: MintooXavier Updated on: 11/22/2024 11:32:29 AM

Comment body:

B.5.21.400 - Export Specific Forms

In the below two Gherkin steps, even though it’s a multiselect, I changed it to dropdown for the Gherkin to work.
-And I select “Text Validation” on the dropdown field labeled “Instruments”
-And I select “Event 1 (Arm 1: Arm 1)” on the dropdown field labeled “Events”

Script works and tests pass

Comment edits:

Created: 11/22/2024 11:32:29 AM Edited on: 11/22/2024 11:32:29 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

B.5.21.400 - Export Specific Forms

  • extra fields in verifying of exported fields, still script passes.
  • Modified the script and pushed to MX_v13.1.37

In the below two Gherkin steps, even though it’s a multiselect, I changed it to dropdown for the Gherkin to work. -And I select “Text Validation” on the dropdown field labeled “Instruments” -And I select “Event 1 (Arm 1: Arm 1)” on the dropdown field labeled “Events”

Script works and tests pass

Created: 11/22/2024 11:32:29 AM Edited on: 8/5/2024 12:50:15 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

B.5.21.400 - Export Specific Forms

  • extra fields in verifying of exported fields, still script passes.
  • Modified the script and pushed to MX_v13.1.37

Timeline events:

LABELLED | User: MintooXavier Created on: 7/29/2024 2:22:14 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/29/2024 2:22:14 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/29/2024 2:22:14 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/29/2024 2:22:15 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 8/5/2024 12:17:48 PM Issue comment body:

Scripts pre-reviewed:

  1. B.5.21.100 - Export PHI
  2. B.5.21.200 - Export Data to External Format
  3. B.5.21.300 - Export All Fields
  4. B.5.21.400 - Export Specific Forms
  5. B.5.21.500 - REDUNDANT
  6. B.5.21.600 - User Access Restrictions

All 6 scripts pass

LABELLED | User: MintooXavier Created on: 8/5/2024 12:38:53 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 8/5/2024 12:50:15 PM Issue comment body:

B.5.21.400 - Export Specific Forms

In the below two Gherkin steps, even though it’s a multiselect, I changed it to dropdown for the Gherkin to work.
-And I select “Text Validation” on the dropdown field labeled “Instruments”
-And I select “Event 1 (Arm 1: Arm 1)” on the dropdown field labeled “Events”

Script works and tests pass

LABELLED | User: MintooXavier Created on: 12/18/2024 10:39:24 AM Label name: PQ Label description:


————— feature ends —————



Feature: 121. eDocs

Id: I_kwDOIaOBn86bp2mH Uid: redcap_cypress-81
Author: MintooXavier Created: 10/24/2024 12:31:22 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/81
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:07:59 PM
Locked: false Participants: MintooXavier || LawrenceFayers

Project item body:

Brief description:
EDocs is the location configured to store files.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/121_edocs.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/eDocs_121/D.121.100%20-%20edocs.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/121_edocs.spec

D.121.100 - Control Center: The system shall support the option to configure the storage location for uploaded documents.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/eDocs_121/D.121.100%20-%20edocs.feature

Feature: D.121.100 - Control Center: The system shall support the option to configure the storage location for uploaded documents

As a REDCap end user
I want to see that eDocse is functioning as expected

Scenario: D.121.100 - Configure the storage location for uploaded documents
    #FUNCTIONAL_REQUIREMENT
    ##ACTION: Configure the File Vault
    Given I login to REDCap with the user "Test_Admin"
    When I click on the link labeled "Control Center"
    And I click on the link labeled "File Upload Settings"
    Then I should see "Local Server File Storage"
    # And I enter "/var/www/html/redcap_file_repository/" into the input field labeled "SET LOCAL FILE STORAGE LOCATION: If using 'Local' storage option, you may set an alternative location for storage of uploaded files (otherwise it will default to 'edocs' folder)."
    And I enter "/var/www/html/edocs" into the input field labeled "SET LOCAL FILE STORAGE LOCATION: If using 'Local' storage option, you may set an alternative location for storage of uploaded files (otherwise it will default to 'edocs' folder)."
    Then I click on the button labeled "Save Changes"

Scenario: Add record to get participant signature
    Given I create a new project named "24ConsentWithSetup" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "24ConsentWithSetup.xml", and clicking the "Create Project" button
    When I click on the link labeled "Add / Edit Records"
    And I click on the button labeled "Add new record for the arm selected above"
    And I click the bubble to add a record for the "Participant Consent" longitudinal instrument on event "Event 1"
    Then I should see "Adding new Record ID 1"

    When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
    And I click on the button labeled "Okay" in the dialog box
    And I click on the button labeled "Survey options"
    And I click on the survey option label containing "Open survey" label
    And I enter "FirstName" into the data entry form field labeled "First Name"
    And I enter "LastName" into the input field labeled "Last Name"
    And I enter "email@test.edu" into the input field labeled "Email"
    And I click on the "Today" button for the field labeled "DOB"
    And I enter "MyName" into the input field labeled "Participant's Name Typed"

    When I click on the "Add signature" link for the field labeled "Participant signature field"
    And I see a dialog containing the following text: "Add signature"
    And I draw a signature in the signature field area
    When I click on the button labeled "Save signature" in the dialog box
    And I click on the button labeled "Next Page >>"
    And I check the checkbox labeled "I certify that all of my information in the document above is correct"
    And I click on the button labeled "Submit"
    Then I click on the button labeled "Close survey"

    Given I return to the REDCap page I opened the survey from
    ##VERIFY_RSD
    Then I click on the link labeled "Record Status Dashboard"
    And I click on the link labeled exactly "1"
    And I should see the "Completed Survey Response" icon for the "Participant Consent" longitudinal instrument on event "Event 1"

    ##VERIFY_FiRe
    When I click on the link labeled "File Repository"
    And I click on the link labeled "PDF Survey Archive"
    And I download the PDF by clicking on the link for Record "1" and Survey "Participant Consent (Event 1 (Arm 1: Arm 1))" in the File Repository table
    Then I should see the following values in the downloaded PDF for Record "1" and Survey "Participant Consent (Event 1 (Arm 1: Arm 1))"
        | First Name                  | FirstName      |
        | Last Name                   | LastName       |
        | Email                       | email@test.edu |
        | DOB                         | yyyy-mm-dd     |
        | Participant's Name Typed    | MyName         |
        | Participant signature field |                |

    ##VERIFY_PDF at Specific File Location
    And I should see the following values in the PDF at the local storage
        | First Name                  | FirstName      |
        | Last Name                   | LastName       |
        | Email                       | email@test.edu |
        | DOB                         | yyyy-mm-dd     |
        | Participant's Name Typed    | MyName         |
        | Participant signature field |                |

    And I logout

Comments:

Comment:

Author: MintooXavier Updated on: 10/29/2024 12:00:12 PM

Comment body:

EDocs Completed.

Need to write the function fetchLatestLocalStorage similar to fetchLatestDownload changing the location to ../www/redcap/edocs/

Comment:

Author: MintooXavier Updated on: 10/29/2024 12:09:35 PM

Comment body:

@LawrenceFayers : Could you review this. This is automated apart from the last step definition.

The local storage is in www/redcap/edocs or www/edocs.. It depends on your configuration..

Comment:

Author: LawrenceFayers Updated on: 10/31/2024 2:01:29 PM

Comment body:

All works for me. On line 47 I didn’t know if it mattered which of the two buttons i pressed but that was the only thing. Everything else flows as expected.

Comment:

Author: MintooXavier Updated on: 11/25/2024 11:57:27 AM

Comment body:

1 more step definition to automate.

Automated the step definition: ‘I should see the following values in the PDF at the local storage’

Script is automated and tests Pass

Comment edits:

Created: 11/25/2024 11:57:27 AM Edited on: 11/25/2024 11:57:27 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

1 more step definition to automate.

Automated the step definition: ‘I should see the following values in the PDF at the local storage’

Script is automated and tests Pass

Created: 11/4/2024 2:49:30 PM Edited on: 11/4/2024 2:49:30 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

1 more step definition to automate

Created: 11/4/2024 2:49:30 PM Edited on: 11/4/2024 12:38:42 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Automated the script


Timeline events:

LABELLED | User: MintooXavier Created on: 10/24/2024 12:31:22 PM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 10/24/2024 12:38:30 PM Assignee: MintooXavier

LABELLED | User: MintooXavier Created on: 10/24/2024 12:38:54 PM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 10/24/2024 12:38:54 PM Label name: Gherkin Label description: Uses a Gherkin syntax

RENAMED TITLE | User: MintooXavier Created on: 10/24/2024 12:41:29 PM Previous title: 121. EDocs Current title: 121. eDocs

ISSUE COMMENT | User: MintooXavier Created on: 10/29/2024 12:00:12 PM Issue comment body:

EDocs Completed.

Need to write the function fetchLatestLocalStorage similar to fetchLatestDownload changing the location to ../www/redcap/edocs/

ISSUE COMMENT | User: MintooXavier Created on: 10/29/2024 12:09:35 PM Issue comment body:

@LawrenceFayers : Could you review this. This is automated apart from the last step definition.

The local storage is in www/redcap/edocs or www/edocs.. It depends on your configuration..

MENTIONED | User: LawrenceFayers Created on: 10/29/2024 12:09:36 PM

SUBSCRIBED | User: LawrenceFayers Created on: 10/29/2024 12:09:36 PM

ISSUE COMMENT | User: LawrenceFayers Created on: 10/31/2024 2:01:29 PM Issue comment body:

All works for me. On line 47 I didn’t know if it mattered which of the two buttons i pressed but that was the only thing. Everything else flows as expected.

UNLABELLED | User: MintooXavier Created on: 11/4/2024 12:38:27 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/4/2024 12:38:27 PM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 11/4/2024 12:38:42 PM Issue comment body:

1 more step definition to automate.

Automated the step definition: ‘I should see the following values in the PDF at the local storage’

Script is automated and tests Pass


————— feature ends —————



Feature: 26. File Repository

Id: I_kwDOIaOBn86P23YN Uid: redcap_cypress-71
Author: MintooXavier Created: 7/17/2024 12:41:22 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/71
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:55:19 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to store, organise, and share project files through folders in file repository and limit access for users to these folders.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/26_file_repository.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/File%20Repository_26/A.3.26.100%20-%20Public%20File%20Share.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/File%20Repository_26/C.3.26.200%20-%20View%20Access%20%26%20User%20Rights.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/File%20Repository_26/C.3.26.300%20-%20Storage%20%26%20Organization.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/File%20Repository_26/C.3.26.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/File%20Repository_26/C.3.26.500%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/26_file_repository.spec

A.3.26.100 - Control Center: The system shall provide the ability to enable/disable sharing of files via a public link.
C.3.26.200 - User Interface: The system shall support limiting file repository user view access and export rights
C.3.26.300 - User Interface: The system shall support the storage, organization, and sharing of project files for permanent folders: (Data Export | e-Consent PDFs | Recycle Bin | Custom Create folder / Sub-folder)
C.3.26.400 - User Interface: The system shall support multiple file upload through the following methods: (File upload | Drag and Drop)
C.3.26.500 - User Interface: The system shall limit folder deletion to empty folders.
D.3.26.600 - User Interface: The system shall support file retention rules for the Recycle Bin. Includes 30 Day file retention of deleted files | 30 Day file restore
D.3.26.700 - User Interface: The system shall support file storage limit. Includes Control center limitation | Project settings limitation
D.3.26.800 - User Interface: The system shall support sharing of files via Send-IT.
D.3.26.900 - User Interface: The system shall interface with API functions create new folders, export files and folders, import files, and delete files.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/File%20Repository_26/A.3.26.100%20-%20Public%20File%20Share.feature

Feature: Control Center: The system shall provide the ability to enable/disable sharing of files via a public link.

As a REDCap end user I want to see that file repository is functioning as expected

Scenario: A.3.26.100.100 Enable/Disable file repository public links via Control Center #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “A.3.26.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button And I click on the link labeled “My Projects” And I click on the link labeled “A.3.26.100.100”

##Below steps are not required # And I click on the link labeled “Designer”

# And I click on the “Survey settings” button for the instrument row labeled “Consent”

# And I click on the radio labeled “Auto-Archiver + e-Consent Framework” # Then I click on the button labeled “Save Changes”

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#ACTION Upload to top tier file repo (all users will see file) - using the Select files to upload button
When I click on the link labeled "File Repository"
Then I should see "All Files" in the File Repository breadcrumb

When I click the button labeled "Select files to upload" to select and upload the following file to the File Repository:
  | import_files/testusers_bulkupload.csv |

##VERIFY file uploaded in folder
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                     | Time Uploaded    | Comments                |
  | Data Export Files        |                  |                         |
  | PDF Survey Archive       |                  |                         |
  | Recycle Bin              |                  |                         |
  | testusers_bulkupload.csv | mm/dd/yyyy hh:mm | Uploaded by test_admin. |

#FUNCTIONAL_REQUIREMENT
##ACTION: Disable File Repository Module
When I click on the link labeled "Control Center"
And I click on the link labeled "File Upload Settings"
Then I should see "Configuration Options for Various Types of Stored Files"

When I select "Disabled" on the dropdown field labeled "File Repository: Users are able to share files via public links"
And I click on the button labeled "Save Changes"

##VERIFY File Repository Module Disabled
Then I should see "Your system configuration values have now been changed!"
##VERIFY Project settings share ability in File Repository
When I click on the link labeled "My Projects"
And I click on the link labeled "A.3.26.100.100"
When I click on the link labeled "File Repository"

Given I click on the File Share icon for the File Repository file named "testusers_bulkupload.csv"
Then I should see "Send the file securely using Send-It" in the dialog box
And I should NOT see "Share a public link to view the file" in the dialog box
And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
##ACTION: Enable File Repository Module
When I click on the link labeled "Control Center"
And I click on the link labeled "File Upload Settings"
And I select "Enabled" on the dropdown field labeled "File Repository: Users are able to share files via public links"
And I click on the button labeled "Save Changes"

##VERIFY File Repository Module Enabled
Then I should see "Your system configuration values have now been changed!"
##VERIFY Project settings shareability in File Repository
When I click on the link labeled "My Projects"
And I click on the link labeled "A.3.26.100.100"
And I click on the link labeled "File Repository"

Given I click on the File Share icon for the File Repository file named "testusers_bulkupload.csv"
Then I should see "Send the file securely using Send-It" in the dialog box
And I should see "Share a public link to view the file" in the dialog box
And I click on the button labeled "Close" in the dialog box

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/File%20Repository_26/C.3.26.200%20-%20View%20Access%20%26%20User%20Rights.feature

Feature: User Interface: The system shall support limiting file repository user view access and export rights.

As a REDCap end user I want to see that file repository is functioning as expected

Scenario: C.3.26.200.100 - Limit user view and export access based on User Rights and DAG #SETUP Given I login to REDCap with the user “Test_Admin” When I create a new project named “C.3.26.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button And I click on the link labeled “My Projects” And I click on the link labeled “C.3.26.200.100”

##SETUP auto-archive
And I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Consent"
And I click on the radio labeled "Auto-Archiver + e-Consent Framework"
Then I click on the button labeled "Save Changes"

##SETUP File Repository
And I click on the link labeled "File Repository"

#Create DAG limited folder
And I click on the button labeled "Create folder"
And I enter "TestGroup1_Folder" into the input field labeled "New folder name:"
And I select "TestGroup1" on the dropdown field labeled "Limit access by Data Access Group?"
And I click on the button labeled "Create folder" in the dialog box
Then I should see "TestGroup1_Folder"

#Create role limited folder
And I click on the button labeled "Create folder"
And I enter "Role1_Folder" into the input field labeled "New folder name"
And I select "1_FullRights" on the dropdown field labeled "Limit access by User Role?"
And I click on the button labeled "Create folder" in the dialog box
Then I should see "Role1_Folder"

##SETUP User Rights:
When I click on the link labeled "User Rights"
And I click on the button labeled "Upload or download users, roles, and assignments"
And I click on the link labeled "Upload users (CSV)"
Then I upload a "csv" format file located at "/import_files/user list for project 1.csv", by clicking the button near "Select your CSV file of users and their user rights to be added/modified:" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see a dialog containing the following text: "Upload users (CSV) - Confirm"
And I should see a table header and rows containing the following values in a table:
  | username   |
  | test_admin |
  | test_user1 |
  | test_user2 |
  | test_user3 |
  | test_user4 |

Given I click on the button labeled "Upload" in the dialog box
Then I should see a dialog containing the following text: "SUCCESS!"
And I click on the button labeled "Close" in the dialog box

Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user1          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

##SETUP Assign to roles
When I click on the link labeled "test_user1 (Test User1)"
And I click on the button labeled "Assign to role" on the tooltip
And I select "1_FullRights" on the dropdown field labeled "Select Role" in the role selector dropdown
And I click on the button labeled exactly "Assign"
Then I should see "successfully ASSIGNED to the user role"
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | test_user1          |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

When I click on the link labeled "test_user2 (Test User2)"
And I click on the button labeled "Assign to role" on the tooltip
And I select "1_FullRights" on the dropdown field labeled "Select Role" in the role selector dropdown
And I click on the button labeled exactly "Assign"
Then I should see "successfully ASSIGNED to the user role"
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | test_user1          |
  |                         | test_user2          |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

When I click on the link labeled "test_user3 (Test User3)"
And I click on the button labeled "Assign to role" on the tooltip
And I select "3_ReadOnly_Deidentified" on the dropdown field labeled "Select Role" in the role selector dropdown
And I click on the button labeled exactly "Assign"
Then I should see "successfully ASSIGNED to the user role"
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user4          |
  | 1_FullRights            | test_user1          |
  |                         | test_user2          |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | test_user3          |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

When I click on the link labeled "test_user4 (Test User4)"
And I click on the button labeled "Assign to role" on the tooltip
And I select "3_ReadOnly_Deidentified" on the dropdown field labeled "Select Role" in the role selector dropdown
And I click on the button labeled exactly "Assign"
Then I should see "successfully ASSIGNED to the user role"
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | 1_FullRights            | test_user1          |
  |                         | test_user2          |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | test_user3          |
  |                         | test_user4          |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

#SETUP DAG: Assign User to DAG
Given I click on the link labeled "Data Access Groups"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "TestGroup1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"
Then I should see "has been assigned to Data Access Group"
Then I should see a table header and rows containing the following values in a table:
  | Data Access Groups        | Users in group |
  | TestGroup1                | test_user1     |
  | TestGroup2                |                |
  | [Not assigned to a group] | test_admin     |
  |                           | test_user2     |
  |                           | test_user3     |
  |                           | test_user4     |

When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
And I select "TestGroup2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"
Then I should see "has been assigned to Data Access Group"
Then I should see a table header and rows containing the following values in a table:
  | Data Access Groups        | Users in group |
  | TestGroup1                | test_user1     |
  | TestGroup2                | test_user2     |
  | [Not assigned to a group] | test_admin     |
  |                           | test_user3     |
  |                           | test_user4     |

When I select "test_user3 (Test User3)" on the dropdown field labeled "Assign user"
And I select "TestGroup1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"
Then I should see "has been assigned to Data Access Group"
Then I should see a table header and rows containing the following values in a table:
  | Data Access Groups        | Users in group |
  | TestGroup1                | test_user1     |
  |                           | test_user3     |
  | TestGroup2                | test_user2     |
  | [Not assigned to a group] | test_admin     |
  |                           | test_user4     |

#"Test_User4" is not assigned to a DAG
And I logout

#SETUP Record: Create record while in DAG through eConsent framework
Given I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.3.26.200.100"
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Consent" longitudinal instrument on event "Event 1" and click on the bubble
Then I should see "Adding new Record ID"
When I click on the button labeled "Save & Exit Form"
And I should see "successfully added."

Then I click the bubble to add a record for the "Consent" longitudinal instrument on event "Event 1" and click on the bubble
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
And I click on the button labeled "Next Page"
When I check the checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"
When I click on the button labeled "Close survey"
Then I should see "You may now close this tab/window"

Given I return to the REDCap page I opened the survey from
When I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I click on the link labeled exactly "1-1"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1"
And I should see "TestGroup1"

#FUNCTIONAL_REQUIREMENT
#ACTION Upload to top tier file repo (all users will see file) - using the Drag and drop files here to upload button
When I click on the link labeled "File Repository"
Then I should NOT see "All Files/TestGroup1_Folder" in the File Repository breadcrumb
And I should see "All Files" in the File Repository breadcrumb
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               |
  | Data Export Files  |
  | PDF Survey Archive |
  | Recycle Bin        |
  | TestGroup1_Folder  |
  | Role1_Folder       |

When I click the button labeled "Select files to upload" to select and upload the following file to the File Repository:
  | /import_files/user_list_for_project_1.csv |

##VERIFY file uploaded in folder
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                        | Time Uploaded    | Comments                |
  | TestGroup1_Folder           |                  |                         |
  | Role1_Folder                |                  |                         |
  | user_list_for_project_1.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

##ACTION Upload to top tier file repo (all users will see file) - using the Select files to upload button
When I click on the link labeled "File Repository"
Then I should NOT see "All Files/TestGroup1_Folder" in the File Repository breadcrumb
And I should see "All Files" in the File Repository breadcrumb
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               |
  | Data Export Files  |
  | PDF Survey Archive |
  | Recycle Bin        |
  | TestGroup1_Folder  |
  | Role1_Folder       |

When I click the button labeled "Select files to upload" to select and upload the following file to the File Repository:
  | /import_files/testusers_bulkupload.csv |

##VERIFY file uploaded in folder
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                     | Time Uploaded    | Comments                |
  | testusers_bulkupload.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

#FUNCTIONAL_REQUIREMENT
##ACTION Upload to DAG folder
When I click on the link labeled "File Repository"
Then I should NOT see "All Files/TestGroup1_Folder" in the File Repository breadcrumb
And I should see "All Files" in the File Repository breadcrumb
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                        |
  | Data Export Files           |
  | PDF Survey Archive          |
  | Recycle Bin                 |
  | TestGroup1_Folder           |
  | Role1_Folder                |
  | testusers_bulkupload.csv    |
  | user_list_for_project_1.csv |

When I click on the link labeled "TestGroup1_Folder" in the File Repository table
Then I should see "All Files/TestGroup1_Folder" in the File Repository breadcrumb
And I should see "DAG-Restricted:TestGroup1" in the File Repository breadcrumb
And I should see a table row containing the following values in the file repository table:
  | No files or sub-folders exist in this folder |

When I click the button labeled "Select files to upload" to select and upload the following file to the File Repository:
  | /import_files/testusers_bulk_upload.csv |

##VERIFY uploaded in subfolder
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                      | Time Uploaded    | Comments                |
  | testusers_bulk_upload.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

#FUNCTIONAL_REQUIREMENT
##ACTION Upload to Role folder
When I click on the link labeled "File Repository"
Then I should NOT see "All Files/TestGroup1_Folder" in the File Repository breadcrumb
And I should see "All Files" in the File Repository breadcrumb
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               |
  | Data Export Files  |
  | PDF Survey Archive |
  | Recycle Bin        |
  | TestGroup1_Folder  |
  | Role1_Folder       |

And I should see "Data Export Files"
And I click on the link labeled "Role1_Folder" in the File Repository table
Then I should see "All Files/Role1_Folder" in the File Repository breadcrumb
And I should see a table row containing the following values in the file repository table:
  | No files or sub-folders exist in this folder |

#C.3.26.400.100 #Upload more than one file at the same time using the select files to upload button
When I click the button labeled "Select files to upload" to select and upload the following file to the File Repository:
  | /import_files/File_Upload.docx           |
  | /import_files/instrument_designation.csv |

#VERIFY uploaded in subfolder
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                       | Time Uploaded    | Comments                |
  | File_Upload.docx           | mm/dd/yyyy hh:mm | Uploaded by test_user1. |
  | instrument_designation.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

#FUNCTIONAL_REQUIREMENT
##ACTION Auto-archive file in DAG TestGroup1
When I click on the link labeled "File Repository"
Then I should NOT see "All Files/Role1_Folder" in the File Repository breadcrumb
And I should see "All Files" in the File Repository breadcrumb
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               |
  | Data Export Files  |
  | PDF Survey Archive |
  | Recycle Bin        |
  | TestGroup1_Folder  |
  | Role1_Folder       |

Given I click on the link labeled "PDF Survey Archive" in the File Repository table
Then I should see a table header and rows containing the following values in the file repository table:
  | Record         | Survey                           | Survey Completion Time | Type      |
  | 1-1 TestGroup1 | Consent (Event 1 (Arm 1: Arm 1)) | mm/dd/yyyy hh:mm       | e-Consent |

And I logout

##SETUP Record: Create record while in DAG through
Given I login to REDCap with the user "Test_User2"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.3.26.200.100"
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Consent" longitudinal instrument on event "Event 1" and click on the bubble
Then I should see "Adding new Record ID"
When I click on the button labeled "Save & Exit Form"
And I should see "successfully added."

Then I click the bubble to add a record for the "Consent" longitudinal instrument on event "Event 1" and click on the bubble
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
And I click on the button labeled "Next Page"
When I check the checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"
When I click on the button labeled "Close survey"
Then I should see "You may now close this tab/window"
Then I return to the REDCap page I opened the survey from
When I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I should see the link labeled "2-1"

When I click on the link labeled "2-1"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1"
And I should see "TestGroup2"

#FUNCTIONAL_REQUIREMENT
##ACTION Unable to access DAG folder
When I click on the link labeled "File Repository"
And I should see "All Files" in the File Repository breadcrumb

##VERIFY See file uploaded by Test_User1
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                        |
  | Data Export Files           |
  | PDF Survey Archive          |
  | Recycle Bin                 |
  | Role1_Folder                |
  | user_list_for_project_1.csv |
  | testusers_bulkupload.csv    |

And I should NOT see "TestGroup1_Folder"

#FUNCTIONAL_REQUIREMENT
##ACTION Interact in Role folder
Given I click on the link labeled "Role1_Folder" in the File Repository table
Then I should see "All Files/Role1_Folder" in the File Repository breadcrumb
And I should see a table header and rows containing the following values in the file repository table:
  | Name                       | Time Uploaded    | Comments                |
  | File_Upload.docx           | mm/dd/yyyy hh:mm | Uploaded by test_user1. |
  | instrument_designation.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

#Download file previously uploaded by test_user1
And I download a file by clicking on the link labeled "instrument_designation.csv"
Then I should see a downloaded file named "instrument_designation.csv"

Given I click on the link labeled "All Files" in the File Repository breadcrumb
And I click on the link labeled "Role1_Folder" in the File Repository table
Then I should see "All Files/Role1_Folder" in the File Repository breadcrumb

##ACTION Upload to Role folder
When I click the button labeled "Select files to upload" to select and upload the following file to the File Repository:
  | /import_files/user-list-for-project-1.csv |

##VERIFY uploaded in subfolder
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                        | Time Uploaded    | Comments                |
  | user-list-for-project-1.csv | mm/dd/yyyy hh:mm | Uploaded by test_user2. |
  | File_Upload.docx            | mm/dd/yyyy hh:mm | Uploaded by test_user1. |
  | instrument_designation.csv  | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

#FUNCTIONAL_REQUIREMENT
##ACTION Auto-archive file in DAG TestGroup2
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive" in the File Repository table
#See consent just created in testgroup2
#Don't see consent created by testgroup1

Then I should see a table header and rows containing the following values in the file repository table:
  | Record         | Survey                           | Survey Completion Time | Type      |
  | 2-1 TestGroup2 | Consent (Event 1 (Arm 1: Arm 1)) | mm/dd/yyyy hh:mm       | e-Consent |

But I should NOT see "TestGroup1"
And I should NOT see "1-1"
And I logout

#FUNCTIONAL_REQUIREMENT
Given I login to REDCap with the user "Test_User3"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.3.26.200.100"
When I click on the link labeled "File Repository"
##ACTION Unable to access Role folder
##VERIFY See file uploaded by Test_User1

Then I should see a table header and rows containing the following values in the file repository table:
  | Name                        | Time Uploaded    | Comments                |
  | Data Export Files           |                  |                         |
  | PDF Survey Archive          |                  |                         |
  | Recycle Bin                 |                  |                         |
  | TestGroup1_Folder           |                  |                         |
  | user_list_for_project_1.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |
  | testusers_bulkupload.csv    | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

And I should NOT see "Role1_Folder"

##ACTION Download to top tier file imported by user 1 & user 2
When I download a file by clicking on the link labeled "user_list_for_project_1.csv"
#Note the underscores below - REDCap adds them automatically onto the filename when downloading
Then I should see a downloaded file named "user_list_for_project_1.csv"
When I download a file by clicking on the link labeled "testusers_bulkupload.csv"
Then I should see a downloaded file named "testusers_bulkupload.csv"

#FUNCTIONAL_REQUIREMENT
##ACTION Access DAG folder
When I click on the link labeled "TestGroup1_Folder" in the File Repository table
Then I should see the link labeled "testusers_bulk_upload.csv"

When I download a file by clicking on the link labeled "testusers_bulk_upload.csv"
##VERIFY Download another users file in subfolder
Then I should see a downloaded file named "testusers_bulk_upload.csv"

#FUNCTIONAL_REQUIREMENT
##ACTION Auto-archive file in DAG TestGroup1
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive" in the File Repository table

#Don't see consent created by testgroup2
Then I should see a table header and rows containing the following values in the file repository table:
  | Record         | Survey                           | Survey Completion Time | Type      |
  | 1-1 TestGroup1 | Consent (Event 1 (Arm 1: Arm 1)) | mm/dd/yyyy hh:mm       | e-Consent |

But I should NOT see "TestGroup2"
And I should NOT see "2-1"

And I logout

#FUNCTIONAL_REQUIREMENT
##ACTION Download to top tier file
Given I login to REDCap with the user "Test_User4"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.3.26.200.100"
When I click on the link labeled "File Repository"
##ACTION Unable to access Role folder
##VERIFY See file uploaded by Test_User1 & Test_User2

Then I should see a table header and rows containing the following values in the file repository table:
  | Name                        | Time Uploaded    | Comments                |
  | Data Export Files           |                  |                         |
  | PDF Survey Archive          |                  |                         |
  | Recycle Bin                 |                  |                         |
  | TestGroup1_Folder           |                  |                         |
  | testusers_bulkupload.csv    | mm/dd/yyyy hh:mm | Uploaded by test_user1. |
  | user_list_for_project_1.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

And I should NOT see "Role1_Folder"

##ACTION Download to top tier file imported by user 1 & user 2
When I download a file by clicking on the link labeled "user_list_for_project_1.csv"
Then I should see a downloaded file named "user_list_for_project_1.csv"
When I download a file by clicking on the link labeled "testusers_bulkupload.csv"
Then I should see a downloaded file named "testusers_bulkupload.csv"

#FUNCTIONAL_REQUIREMENT
##ACTION Access DAG folder
Given I click on the link labeled "TestGroup1_Folder" in the File Repository table
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                      | Time Uploaded    | Comments                |
  | testusers_bulk_upload.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

When I download a file by clicking on the link labeled "testusers_bulk_upload.csv"
##VERIFY Download another users file in subfolder
Then I should see a downloaded file named "testusers_bulk_upload.csv"

#FUNCTIONAL_REQUIREMENT
##ACTION Auto-archive access all file
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive"
Then I should see a table header and rows containing the following values in the file repository table:
  | Record | Survey                           | Survey Completion Time | Type      |
  | 1-1    | Consent (Event 1 (Arm 1: Arm 1)) | mm/dd/yyyy hh:mm       | e-Consent |
  | 2-1    | Consent (Event 1 (Arm 1: Arm 1)) | mm/dd/yyyy hh:mm       | e-Consent |

#FUNCTIONAL_REQUIREMENT
##ACTION C.3.26.500.100 Delete folders - unable to delete with file in folder
When I click on the link labeled "File Repository"
And I check the checkbox labeled "TestGroup1_Folder"
And I click on the button labeled "Delete"
##VERIFY will not let you delete folder with file inside
Then I should see a dialog containing the following text: "Alert"
And I should see a dialog containing the following text: "Sorry, but folders can't be deleted this way. They must instead be deleted individually by clicking the X on the right-hand side of each folder."
When I click on the button labeled "Close" in the dialog box
Then I should see "TestGroup1_Folder"
And I click on the Delete icon for the File Repository file named "TestGroup1_Folder"
Then I should see a dialog containing the following text: "Cannot delete folder!"
And I should see a dialog containing the following text: "Sorry, but the folder below cannot be deleted because it still has files in it."
When I click on the button labeled "Close" in the dialog box
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                        | Time Uploaded    | Comments                |
  | Data Export Files           |                  |                         |
  | PDF Survey Archive          |                  |                         |
  | Recycle Bin                 |                  |                         |
  | TestGroup1_Folder           |                  |                         |
  | testusers_bulkupload.csv    | mm/dd/yyyy hh:mm | Uploaded by test_user1. |
  | user list for project 1.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

##ACTION Cancel Remove files from folder
When I click on the link labeled "TestGroup1_Folder" in the File Repository table
Then I should see "All Files/TestGroup1_Folder" in the File Repository breadcrumb
And I should see a table header and rows containing the following values in the file repository table:
  | Name                      | Time Uploaded    | Comments                |
  | testusers_bulk_upload.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

And I check the checkbox labeled "testusers_bulk_upload.csv"
And I click on the button labeled "Delete"
Then I should see a dialog containing the following text: "DELETE MULTIPLE FILES?"
And I click on the button labeled "Cancel" in the dialog box
##VERIFY file still in folder
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                      | Time Uploaded    | Comments                |
  | testusers_bulk_upload.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

##ACTION Delete/Remove files from folder
When I check the checkbox labeled "testusers_bulk_upload.csv"
And I click on the button labeled "Delete"
Then I should see a dialog containing the following text: "DELETE MULTIPLE FILES?"
And I click on the button labeled "Delete" in the dialog box
##VERIFY file deleted in folder
Then I should see a dialog containing the following text: "SUCCESS!"
And I click on the button labeled "Close" in the dialog box
Then I should see a table row containing the following values in the file repository table:
  | No files or sub-folders exist in this folder |

##ACTION C.3.26.500.100 Delete folders - Cancel deletion
When I click on the link labeled "File Repository"
And I click on the Delete icon for the File Repository file named "TestGroup1_Folder"

##VERIFY Cancel deletion
Then I should see a dialog containing the following text: "Folder: TestGroup1_Folder"
When I click on the button labeled "Cancel" in the dialog box
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                        | Time Uploaded    | Comments                |
  | Data Export Files           |                  |                         |
  | PDF Survey Archive          |                  |                         |
  | Recycle Bin                 |                  |                         |
  | TestGroup1_Folder           |                  |                         |
  | testusers_bulkupload.csv    | mm/dd/yyyy hh:mm | Uploaded by test_user1. |
  | user list for project 1.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

##ACTION C.3.26.500.100 Delete folders
And I click on the Delete icon for the File Repository file named "TestGroup1_Folder"
##VERIFY Folder deleted
Then I should see a dialog containing the following text: "Folder: TestGroup1_Folder"
When I click on the button labeled "Delete" in the dialog box
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                        | Time Uploaded    | Comments                |
  | Data Export Files           |                  |                         |
  | PDF Survey Archive          |                  |                         |
  | Recycle Bin                 |                  |                         |
  | testusers_bulkupload.csv    | mm/dd/yyyy hh:mm | Uploaded by test_user1. |
  | user list for project 1.csv | mm/dd/yyyy hh:mm | Uploaded by test_user1. |

And I should NOT see "TestGroup1_Folder"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/File%20Repository_26/C.3.26.300%20-%20Storage%20%26%20Organization.feature

Feature: User Interface: The system shall support the storage, organization, and sharing of project files for permanent folders: (Data Export | e-Consent PDFs | Recycle Bin | Custom Create folder / Sub-folder)

As a REDCap end user I want to see that file repository is functioning as expected

Scenario: C.3.26.300.100 Automatic uploading of data export logs into the data export folder #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.3.26.300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button And I click on the link labeled “My Projects” And I click on the link labeled “C.3.26.300.100”

#SETUP Export data automatically placed in file repo
Given I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "Export Data" for the report named "All data (all records and fields)"
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box
Then I should have a "csv" file that contains the headings below
  | record_id | redcap_event_name | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | redcap_survey_identifier | name | email | text_validation_complete | ptname | textbox | text2 | radio | notesbox | multiple_dropdown_manual | multiple_dropdown_auto | multiple_radio_auto | radio_button_manual | checkbox___1 | checkbox___2 | checkbox___3 | calc_test | calculated_field | signature | file_upload | required | identifier | identifier_2 | edit_field | date_ymd | date_mdy | date_dmy | time_hhmmss | time_hhmm | time_mmss | datetime_ymd_hmss | datetime_ymd_hm | datetime_mdy_hmss | datetime_dmy_hmss | integer | number | number_1_period | number_1_comma | letters | mrn_10_digits | mrn | ssn | phone_north_america | phone_australia | phone_uk | zipcode_us | postal_5 | postal_code_australia | postal_code_canada | data_types_complete | survey_timestamp | name_survey | email_survey | survey_complete | consent_timestamp | name_consent | email_consent | dob | signature_consent | consent_complete |
And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
##ACTION Export data automatically placed in file repo
When I click on the link labeled "File Repository"
Then I should see "Data Export Files"
And I click on the link labeled "Data Export Files"
And I should see "Data export file created by test_admin on"

Scenario: C.3.26.300.200 Automatic uploading of e-Consent Framework PDFs # REDUNDANT

Scenario: C.3.26.300.300 Recycle bin function - permanently force delete

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I create a new project named "C.3.26.300.300" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button
And I click on the link labeled "My Projects"
And I click on the link labeled "C.3.26.300.300"  


##ACTION Upload to top tier file repo
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Comments |
  | Data Export Files  |               |          |
  | PDF Survey Archive |               |          |
  | Recycle Bin        |               |          |

Given I click the button labeled "Select files to upload" to select and upload the following file to the File Repository:
  | import_files/testusers_bulkupload.csv |

##VERIFY file uploaded in folder
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                     | Time Uploaded    | Comments                |
  | Data Export Files        |                  |                         |
  | PDF Survey Archive       |                  |                         |
  | Recycle Bin              |                  |                         |
  | testusers_bulkupload.csv | mm/dd/yyyy hh:mm | Uploaded by test_admin. |

#FUNCTIONAL_REQUIREMENT
##ACTION Delete file
When I check the checkbox labeled "testusers_bulkupload.csv"
And I click on the button labeled "Delete"
Then I should see a dialog containing the following text: "Are you sure you wish to delete all the files currently selected on the page? Total files to be deleted: 1."
And I click on the button labeled "Delete" in the dialog box

##VERIFY file deleted in folder
Then I should see a dialog containing the following text: "SUCCESS!"
And I click on the button labeled "Close" in the dialog box
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 0 Files |
  | Recycle Bin        |               | 1 Files |
And I should NOT see "testusers_bulkupload.csv"

#FUNCTIONAL_REQUIREMENT
##ACTION Cancel Restore deleted file
When I click on the link labeled "Recycle Bin"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                     | Time Uploaded    | Comments                |
  | testusers_bulkupload.csv | mm/dd/yyyy hh:mm | Uploaded by test_admin. |

When I click on the Restore icon for the File Repository file named "testusers_bulkupload.csv"
Then I should see a dialog containing the following text: "File: testusers_bulkupload.csv"
When I click on the button labeled "Cancel" in the dialog box
##VERIFY file still in recycle folder
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                     | Time Uploaded    | Comments                |
  | testusers_bulkupload.csv | mm/dd/yyyy hh:mm | Uploaded by test_admin. |

#FUNCTIONAL_REQUIREMENT
##ACTION Restore deleted file
When I click on the Restore icon for the File Repository file named "testusers_bulkupload.csv"
Then I should see a dialog containing the following text: "File: testusers_bulkupload.csv"
When I click on the button labeled "Restore" in the dialog box
Then I should see a dialog containing the following text: "SUCCESS!"
And I click on the button labeled "Close" in the dialog box
##VERIFY file in File Repository
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                     | Time Uploaded    | Comments                |
  | Data Export Files        |                  |                         |
  | PDF Survey Archive       |                  |                         |
  | Recycle Bin              |                  |                         |
  | testusers_bulkupload.csv | mm/dd/yyyy hh:mm | Uploaded by test_admin. |

##VERIFY file not in recycle folder
When I click on the link labeled "Recycle Bin"
Then I should NOT see "testusers_bulkupload.csv"

#FUNCTIONAL_REQUIREMENT
##ACTION Delete file
When I click on the link labeled "File Repository"

When I check the checkbox labeled "testusers_bulkupload.csv"
And I click on the button labeled "Delete"
Then I should see a dialog containing the following text: "Are you sure you wish to delete all the files currently selected on the page? Total files to be deleted: 1."
And I click on the button labeled "Delete" in the dialog box
##VERIFY file deleted in folder
Then I should see a dialog containing the following text: "SUCCESS!"
And I click on the button labeled "Close" in the dialog box
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 0 Files |
  | Recycle Bin        |               | 1 Files |
And I should NOT see "testusers_bulkupload.csv"

#FUNCTIONAL_REQUIREMENT
##ACTION Cancel Permanently deleted file
When I click on the link labeled "Recycle Bin"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                     | Time Uploaded    | Comments                |
  | testusers_bulkupload.csv | mm/dd/yyyy hh:mm | Uploaded by test_admin. |
When I click on the Delete Permanently icon for the File Repository file named "testusers_bulkupload.csv"
Then I should see a dialog containing the following text: "File: testusers_bulkupload.csv"
When I click on the button labeled "Cancel" in the dialog box
##VERIFY file still in recycle folder
Then I should see a table header and rows containing the following values in the file repository table:
  | Name                     | Time Uploaded    | Comments                |
  | testusers_bulkupload.csv | mm/dd/yyyy hh:mm | Uploaded by test_admin. |

#FUNCTIONAL_REQUIREMENT
##ACTION Permanently deleted file
When I click on the Delete Permanently icon for the File Repository file named "testusers_bulkupload.csv"
Then I should see a dialog containing the following text: "File: testusers_bulkupload.csv"
When I click on the button labeled "Delete" in the dialog box
##VERIFY file deleted in recycle folder
Then I should see a dialog containing the following text: "File was successfully deleted!"
And I click on the button labeled "OK"
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 0 Files |
  | Recycle Bin        |               | 0 Files |
And I should NOT see "testusers_bulkupload.csv"

##VERIFY file deleted in recycle folder
When I click on the link labeled "Recycle Bin"
Then I should see "No files or sub-folders exist in this folder."

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported      |
  | test_admin | Manage/Design | Permanently delete file from File Repository |
  | test_admin | Manage/Design | Delete file from File Repository             |
  | test_admin | Manage/Design | Restore file in File Repository              |
  | test_admin | Manage/Design | Delete file from File Repository             |

Scenario: C.3.26.300.400 Custom folder / sub-folder # REDUNDANT with C.3.26.200

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/File%20Repository_26/C.3.26.400%20-%20REDUNDANT.feature

Feature: User Interface: The system shall support multiple file upload through the following methods: (File upload | Drag and Drop)

This feature test is REDUNDANT and can be viewed in C.3.26.200.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/File%20Repository_26/C.3.26.500%20-%20REDUNDANT.feature

Feature: User Interface: The system shall limit folder deletion to empty folders.

This feature test is REDUNDANT and can be viewed in C.3.24.200.100


Comments:

Comment:

Author: MintooXavier Updated on: 7/24/2024 11:58:42 AM

Comment body:

Scripts Pre-reviewed:

  1. A.3.26.100 - Public File Share
  2. C.3.26.200 - View Access & User Rights
  3. C.3.26.300 - Storage & Organization

Comment edits:

Created: 7/24/2024 11:58:42 AM Edited on: 7/24/2024 11:58:42 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. A.3.26.100 - Public File Share
  2. C.3.26.200 - View Access & User Rights
  3. C.3.26.300 - Storage & Organization

Created: 7/19/2024 12:50:36 PM Edited on: 7/19/2024 12:50:36 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. A.3.26.100 - Public File Share
  2. C.3.26.200 - View Access & User Rights - Script runs but need to verify why Step definitions for ’ limit folder deletion to empty folders’ are commented out..
  3. C.3.26.300 - Storage & Organization

Created: 7/18/2024 2:44:42 PM Edited on: 7/18/2024 2:44:42 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. A.3.26.100 - Public File Share
  2. C.3.26.200 - View Access & User Rights - Script runs but need to verify why steps are commented out. Check if Delete folder functionality is tested?
  3. C.3.26.300 - Storage & Organization

Created: 7/18/2024 2:44:42 PM Edited on: 7/17/2024 12:58:13 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. A.3.26.100 - Public File Share
  2. C.3.26.300 - Storage & Organization

Comment:

Author: MintooXavier Updated on: 7/24/2024 12:39:10 PM

Comment body:
  1. A.3.26.100 - Public File Share
  1. C.3.26.200 - View Access & User Rights
  1. C.3.26.300 - Storage & Organization.feature

Comment edits:

Created: 7/24/2024 12:39:10 PM Edited on: 7/24/2024 12:39:10 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. A.3.26.100 - Public File Share
  • Some steps are not required and can be commented out.
  • Script modified and pushed to MX_v13.1.37
  1. C.3.26.200 - View Access & User Rights
  • Added step to verify ‘Role1_Folder’ is empty before Test_User1 adds files
  • Added step to verify Test_User3 can see ‘TestGroup1_Folder’
  • I have uncommented all the steps below. It contains the steps for ‘limit folder deletion to empty folders’.
  • Files names with space and underscore are treated the same (test pass even with space instead of _) but I have added the underscore.
  • Script modified and pushed to MX_v13.1.37
  1. C.3.26.300 - Storage & Organization.feature
  • Some steps are not required and can be commented out or deleted.
  • Script modified and pushed to MX_v13.1.37

Created: 7/24/2024 11:59:27 AM Edited on: 7/24/2024 11:59:27 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. A.3.26.100 - Public File Share
  • Some steps are not required and can be commented out.
  • Script modified and pushed to MX_v13.1.37
  1. C.3.26.200 - View Access & User Rights
  • Added step to verify ‘Role1_Folder’ is empty before Test_User1 adds files
  • Added step to verify Test_User3 can see ‘TestGroup1_Folder’
  • I have uncommented all the steps below. It contains the steps for ‘limit folder deletion to empty folders’.
  • Script modified and pushed to MX_v13.1.37
  1. C.3.26.300 - Storage & Organization.feature
  • Some steps are not required and can be commented out or deleted.
  • Script modified and pushed to MX_v13.1.37

Created: 7/24/2024 11:09:59 AM Edited on: 7/24/2024 11:09:59 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. A.3.26.100 - Public File Share
  • Some steps are not required and can be commented out.
  • Script modified and pushed to MX_v13.1.37
  1. C.3.26.300 - Storage & Organization.feature
  • Some steps are not required and can be commented out or deleted.
  • Script modified and pushed to MX_v13.1.37
  1. C.3.26.200 - View Access & User Rights
  • Added step to verify ‘Role1_Folder’ is empty before Test_User1 adds files
  • Added step to verify Test_User3 can see ‘TestGroup1_Folder’
  • I have uncommented all the steps below. It contains the steps for ‘limit folder deletion to empty folders’.
  • Script modified and pushed to MX_v13.1.37

Created: 7/24/2024 11:09:41 AM Edited on: 7/24/2024 11:09:41 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. A.3.26.100 - Public File Share
  • Some steps are not required and can be commented out.
  • Script modified and pushed to MX_v13.1.37
  1. C.3.26.300 - Storage & Organization.feature
  • Some steps are not required and can be commented out or deleted.
  •  Script modified and pushed to MX_v13.1.37
  1. C.3.26.200 - View Access & User Rights
  • Added step to verify ‘Role1_Folder’ is empty before Test_User1 adds files
  • Added step to verify Test_User3 can see ‘TestGroup1_Folder’
  • I have uncommented all the steps below. It contains the steps for ‘limit folder deletion to empty folders’.
  •  Script modified and pushed to MX_v13.1.37

Created: 7/17/2024 1:14:22 PM Edited on: 7/17/2024 1:14:22 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. A.3.26.100 - Public File Share
  • Some steps are not required and can be commented out.
  • Script modified and pushed to MX_v13.1.37
  1. C.3.26.300 - Storage & Organization.feature
  • Some steps are not required and can be commented out.
  • Script modified and pushed to MX_v13.1.37

Created: 7/17/2024 1:14:22 PM Edited on: 7/17/2024 12:58:59 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. A.3.26.100 - Public File Share
  • Some steps are not required and can be commented out.
  • Script modified and pushed to MX_v13.1.37

Comment:

Author: MintooXavier Updated on: 7/29/2024 1:46:32 PM

Comment body:

ATS team accepted the changes


Timeline events:

LABELLED | User: MintooXavier Created on: 7/17/2024 12:41:22 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/17/2024 12:41:22 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/17/2024 12:41:22 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/17/2024 12:41:23 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/17/2024 12:58:13 PM Issue comment body:

Scripts Pre-reviewed:

  1. A.3.26.100 - Public File Share
  2. C.3.26.200 - View Access & User Rights
  3. C.3.26.300 - Storage & Organization
ISSUE COMMENT | User: MintooXavier Created on: 7/17/2024 12:58:59 PM Issue comment body:
  1. A.3.26.100 - Public File Share
  1. C.3.26.200 - View Access & User Rights
  1. C.3.26.300 - Storage & Organization.feature

LABELLED | User: MintooXavier Created on: 7/24/2024 12:39:41 PM Label name: Question Label description: Further information is requested

UNLABELLED | User: MintooXavier Created on: 7/29/2024 1:46:27 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 7/29/2024 1:46:32 PM Issue comment body:

ATS team accepted the changes


————— feature ends —————



Feature: 118. Stats and Charts

Id: I_kwDOIaOBn86LO5mf Uid: redcap_cypress-38
Author: MintooXavier Created: 6/5/2024 1:33:47 PM
Assignees: MintooXavier || rukayat-yakub Resource path: /CCTC-team/redcap_cypress/issues/38
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:07:03 PM
Locked: false Participants: MintooXavier || rukayat-yakub

Project item body:

Brief description:
This is a reporting features used to show plots and descriptive statistics of the data.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/118_stats_and_charts.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Stats%20and%20Charts_118/D.118.100%20-%20Stats%20and%20Charts.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/118_stats_and_charts.spec

D.118.100 - The system shall support the ability to select instruments and verify the status of fields through stats and charts.
D.118.200 - The system shall support the ability to select instruments and verify their status using pie charts and bar charts.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Stats%20and%20Charts_118/D.118.100%20-%20Stats%20and%20Charts.feature

Feature: Stats and Charts: The system shall support the viewing of stats and charts.

As a REDCap end user
I want to see that Stats and Charts is functioning as expected

Scenario: Stats and Charts.
    Given I login to REDCap with the user "Test_Admin"   
    And I create a new project named "D.118.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val.xml", and clicking the "Create Project" button

    #ACTION: Import data 
    Given I click on the link labeled "Data Import Tool"
    And  I upload a "csv" format file located at "import_files/redcap_val/redcap_val_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
    And I should see "Your document was uploaded successfully and is ready for review."
    And I click on the button labeled "Import Data"
    Then I should see "Import Successful!"

    #VERIFY_RSD: 15 records
    When I click on the link labeled "Record Status Dashboard"
    Then I should see a link labeled "15"

    ##VERIFY_DE
    When I click on the link labeled "Data Exports, Reports, and Stats"
    And I click on the tab labeled "My Reports & Exports"
    Then I should see a table rows containing the following values in a table:  
        | A | All data (all records and fields)  |
        | B | Selected instruments and/or events |
    
    And I click on the button labeled "Stats & Charts" 
    Then I should see "All data (all records and fields)"

    And I select "Text Validation" on the dropdown field labeled "Select a data collection instrument to view"
    Then I see a table header and rows containing the following values in a table: 
        | Total Count (N) | Missing   |
        | 12              | 3 (20.0%) |

    And I see a table header and rows containing the following values in a table: 
        | Total Count (N) | Missing   |
        | 11              | 4 (26.7%) |

    And I see a table header and rows containing the following values in a table: 
        | Total Count (N) | Missing  | Unique |
        | 15              | 0 (0.0%) | 3      |

    # View Bar Chart
    And I should see the dropdown field labeled "Complete?" with the option "View as Bar Chart" selected
    Then I should see a bar chart for "Complete?" with bar of width 311
    And I should see a bar chart for "Complete?" with bar of width 259
    And I should see a bar chart for "Complete?" with bar of width 207
    # View Pie Chart
    When I select "View as Pie Chart" on the dropdown field labeled "Complete?"
    Then I should see a pie chart for "Complete?" with text "40%"
    And I should see a pie chart for "Complete?" with text "33.3%"
    And I should see a pie chart for "Complete?" with text "26.7%"

    When I select "Data Types" on the dropdown field labeled "Select a data collection instrument to view"
    Then I see a table header and rows containing the following values in a table:  
        | Total Count (N) | Missing   |
        | 13              | 2 (13.3%) |
        
    And I see a table header and rows containing the following values in a table: 
        | Total Count (N) | Missing   |
        | 11              | 4 (26.7%) |

    And I see a table header and rows containing the following values in a table: 
        | Total Count (N) | Missing   | Unique |
        | 12              | 3 (20.0%) | 3      |

    # View Pie Chart
    And I should see the dropdown field labeled "Multiple Choice Dropdown Manual" with the option "View as Bar Chart" selected 
    Then I should see a bar chart for "Multiple Choice Dropdown Manual" with bar of width 155
    And I should see a bar chart for "Multiple Choice Dropdown Manual" with bar of width 363
    And I should see a bar chart for "Multiple Choice Dropdown Manual" with bar of width 103
    # View Pie Chart
    When I select "View as Pie Chart" on the dropdown field labeled "Multiple Choice Dropdown Manual"
    Then I should see a pie chart for "Multiple Choice Dropdown Manual" with text "25%"
    And I should see a pie chart for "Multiple Choice Dropdown Manual" with text "58.3%"
    And I should see a pie chart for "Multiple Choice Dropdown Manual" with text "16.7%"
 
    Then I should NOT see "File Upload" 
    And I see a table header and rows containing the following values in a table: 
        | Total Count (N) | Missing | Unique | Min | Max | Mean | StDev | Sum | Percentile |
   
    And I see a table header and rows containing the following values in a table: 
        | 0.05       | 0.10 | 0.25 | 0.50 Median | 0.75  | 0.90 | 0.95 | 
    
    And I see a table header and rows containing the following values in a table: 
        | 15              | 0 (0.0%) | 1     | 6   | 6   | 6    | 0     | 90  | 6          | 6    | 6    | 6           | 6     | 6    | 6    |
        
    And I should see "Lowest values: 6, 6, 6, 6, 6"
    And I should see "Highest values: 6, 6, 6, 6, 6"
    And I see a table header and rows containing the following values in a table:
        | Total Count (N) | Missing | Unique |
        | 15              | 0 (0.0%) | 3      |

    # View Bar Chart
    And I should see the dropdown field labeled "Complete?" with the option "View as Bar Chart" selected
    Then I should see a bar chart for "Complete?" with bar of width 311
    And I should see a bar chart for "Complete?" with bar of width 259
    And I should see a bar chart for "Complete?" with bar of width 207
    # View Pie Chart
    When I select "View as Pie Chart" on the dropdown field labeled "Complete?"
    Then I should see a pie chart for "Complete?" with text "40%"
    And I should see a pie chart for "Complete?" with text "33.3%"
    And I should see a pie chart for "Complete?" with text "26.7%"
    When I click on the link labeled "4 (26.7%)"
    Then I should see "Missing values: 10, 13, 14, 15"

    When I click on the button labeled "Show stats only"
    Then I see a table header and rows containing the following values in a table:  
        | Total Count (N) | Missing   |
        | 13              | 2 (13.3%) |

    And I should see the dropdown field labeled "Multiple Choice Dropdown Manual" with the option "View as Pie Chart" selected
    And I should NOT see a pie chart for "Multiple Choice Dropdown Manual" with text "25%"
                
    When I click on the button labeled "Show plots only"
    Then I should NOT see "Total Count (N)"
    # View Pie Chart
    And I should see the dropdown field labeled "Multiple Choice Dropdown Manual" with the option "View as Pie Chart" selected
    Then I should see a pie chart for "Multiple Choice Dropdown Manual" with text "25%"
    And I should see a pie chart for "Multiple Choice Dropdown Manual" with text "58.3%"
    And I should see a pie chart for "Multiple Choice Dropdown Manual" with text "16.7%"

    When I click on the button labeled "Show plots & stats"
    Then I see a table header and rows containing the following values in a table:  
        | Total Count (N) | Missing   |
        | 13              | 2 (13.3%) |

    And I should see the dropdown field labeled "Multiple Choice Dropdown Manual" with the option "View as Pie Chart" selected
    And I should see a pie chart for "Multiple Choice Dropdown Manual" with text "25%"
    And I should see a pie chart for "Multiple Choice Dropdown Manual" with text "58.3%"
    And I should see a pie chart for "Multiple Choice Dropdown Manual" with text "16.7%"
    And I logout

Comments:

Comment:

Author: MintooXavier Updated on: 6/10/2024 1:48:37 PM

Comment body:
  1. Please rename the feature file to ‘19_stats_and_charts.feature’ as reports functionality is tested in core features.
  2. Add User Spec

Changes to feature file

  1. Delete steps 6-11.
  2. Add create project step after login
  3. Change step 17 - ‘And I should see the “Project Setup page”’ to ‘And I should see “Project Setup”’ as you see ‘Project Setup’ and there is no ‘Page’ visible. I can see similar code further down.. Please change those as well..
  4. Delete step 18 and similar steps as no scrolling is required.
  5. Change steps 21-23 to ‘I select record ID “1” from arm name “Arm 1: Arm 1” on the Add / Edit record page’
  6. Change Step 26 to ‘I click the bubble to select a record for the “Text Validation” longitudinal instrument on event “Event 1”’
  7. Change step 28 to ’ I enter “John Doe” into the input field labeled “Name” ’
  8. When I created the project it only contains 1 record. Please check and modify accordingly.
  9. Step 57-63 not required as not logged out
  10. Step 71. Write the field names you see
  11. Write a step between Step 78 and 79 to select option to view Pie chart
  12. Verify the data in charts.
  13. No need to test Report functionality.. It is covered in core feature test.
  14. Change the steps definitions using the link: https://aldefouw.github.io/redcap_cypress/
    @rukayat-yakub : Pre review completed.

Comment edits:

Created: 6/10/2024 1:48:37 PM Edited on: 6/10/2024 1:48:37 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Please rename the feature file to ‘19_stats_and_charts.feature’ as reports functionality is tested in core features.
  2. Add User Spec

Changes to feature file 1. Delete steps 6-11. 2. Add create project step after login 3. Change step 17 - ‘And I should see the “Project Setup page”’ to ‘And I should see “Project Setup”’ as you see ‘Project Setup’ and there is no ‘Page’ visible. I can see similar code further down.. Please change those as well.. 4. Delete step 18 and similar steps as no scrolling is required. 5. Change steps 21-23 to ‘I select record ID “1” from arm name “Arm 1: Arm 1” on the Add / Edit record page’ 6. Change Step 26 to ‘I click the bubble to select a record for the “Text Validation” longitudinal instrument on event “Event 1”’ 7. Change step 28 to ’ I enter “John Doe” into the input field labeled “Name” ’ 8. When I created the project it only contains 1 record. Please check and modify accordingly. 9. Step 57-63 not required as not logged out 10. Step 71. Write the field names you see 11. Write a step between Step 78 and 79 to select option to view Pie chart 12. Verify the data in charts. 13. No need to test Report functionality.. It is covered in core feature test. 14. Change the steps definitions using the link: https://aldefouw.github.io/redcap_cypress/ @rukayat-yakub : Pre review completed.

Created: 6/10/2024 1:05:12 PM Edited on: 6/10/2024 1:05:12 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Please rename the feature file to ‘19_stats_and_charts.feature’ as reports functionality is tested in core features.
  2. Add User Spec

Changes to feature file 1. Delete steps 6-11. 2. Add create project step after login 3. Change step 17 - ‘And I should see the “Project Setup page”’ to ‘And I should see “Project Setup”’ as you see ‘Project Setup’ and there is no ‘Page’ visible. I can see similar code further down.. Please change those as well.. 4. Delete step 18 and similar steps as no scrolling is required. 5. Change steps 21-23 to ‘I select record ID “1” from arm name “Arm 1: Arm 1” on the Add / Edit record page’ 6. Change Step 26 to ‘I click the bubble to select a record for the “Text Validation” longitudinal instrument on event “Event 1”’ 7. Change step 28 to ’ I enter “John Doe” into the input field labeled “Name” ’ 8. When I created the project it only contains 1 record. Please check and modify accordingly. 9. Step 57-63 not required as not logged out 10. Step 71. Write the field names you see 11. Write a step between Step 78 and 79 to select option to view Pie chart 12. No need to test Report functionality.. It is covered in core feature test. 13. Change the steps definitions using the link: https://aldefouw.github.io/redcap_cypress/

@rukayat-yakub : Pre review completed.

Created: 6/10/2024 1:05:12 PM Edited on: 6/10/2024 12:51:14 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Please rename the feature file to ‘19_stats_and_charts.feature’ as reports functionality is tested in core features.
  2. Add User Spec

Changes to feature file 1. Add create project step after login 2. Change step 17 - ‘And I should see the “Project Setup page”’ to ‘And I should see “Project Setup”’ as you see ‘Project Setup’ and there is no ‘Page’ visible. I can see similar code further down.. Please change those as well.. 3. Delete step 18 and similar steps as no scrolling is required. 4. Change steps 21-23 to ‘I select record ID “1” from arm name “Arm 1: Arm 1” on the Add / Edit record page’ 5. Change Step 26 to ‘I click the bubble to select a record for the “Text Validation” longitudinal instrument on event “Event 1”’ 6. Change step 28 to ’ I enter “John Doe” into the input field labeled “Name” ’ 7. When I created the project it only contains 1 record. Please check and modify accordingly. 8. Step 57-63 not required as not logged out 9. Step 71. Write the field names you see 10. Write a step between Step 78 and 79 to select option to view Pie chart 11. No need to test Report functionality.. It is covered in core feature test. 12. Change the steps definitions using the link: https://aldefouw.github.io/redcap_cypress/

@rukayat-yakub : Pre review completed.

Comment:

Author: rukayat-yakub Updated on: 6/11/2024 2:06:10 PM

Comment body:

For the no 13, do you mean I should remove the view report? @MintooXavier

Comment:

Author: MintooXavier Updated on: 6/25/2024 1:10:43 PM

Comment body:

Yes.. Create and View report functionality is tested in Reporting feature

Comment:

Author: rukayat-yakub Updated on: 7/18/2024 9:53:39 AM

Comment body:

@MintooXavier Please review when you can

Comment edits:

Created: 7/18/2024 9:53:39 AM Edited on: 7/18/2024 9:53:39 AM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

@MintooXavier Please review when you can

Created: 7/18/2024 9:53:39 AM Edited on: 7/16/2024 7:05:01 PM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

Please review when you can

Comment:

Author: MintooXavier Updated on: 7/18/2024 2:25:46 PM

Comment body:
  1. Please rename the script to 19_stats_and_charts.feature
  2. Use the xml file Project_CUH_v1381.xml instead of one with a date at the end

Comment:

Author: rukayat-yakub Updated on: 7/18/2024 3:02:39 PM

Comment body:

@MintooXavier Done. Please have a look

Comment:

Author: MintooXavier Updated on: 7/19/2024 10:34:47 AM

Comment body:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. And I click on the instrument labeled “Text Validation”
    can be replaced by actual step definition - I click on the link labeled ““
  3. Then I verify I see “Variable: record_id” on the field labeled “Record ID”
    can be replaced by actual step definition - Then I should see “Variable: record_id” within the field with variable name “Record ID” . Similarly change the other step definitions.
  4. And I verify I see “Data Types” instrument
    can be replaced by actual step definition - I should see ““
  5. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L31C80-L31C87 - can be replaced by actual step definition - I click on the bubble for the “Text Validation” data collection instrument for event “Event 1”
  6. Then I select “Complete” on the dropdown field labeled “Complete?” in the role selector dropdown

@rukayat-yakub : Review Completed. Please change accordingly

Comment edits:

Created: 7/19/2024 10:34:47 AM Edited on: 7/19/2024 10:34:47 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L14 can be replaced by actual step definition - I click on the link labeled “”
  3. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L15 can be replaced by actual step definition - Then I should see “Variable: record_id” within the field with variable name “Record ID” . Similarly change the other step definitions.
  4. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L19 can be replaced by actual step definition - I should see “”
  5. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L31C80-L31C87 - can be replaced by actual step definition - I click on the bubble for the “Text Validation” data collection instrument for event “Event 1”
  6. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L34 - no need ‘in the role selector dropdown’ this is used for user roles. Similarly change in lin2 42
  7. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L36 - record ID 2
  8. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L37 - not radio button.. It’s instrument. Please use correct step definition
  9. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L40 - You have used the correct step definition for drop down in line 34. Please use that.
  10. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L41 - use https://aldefouw.github.io/redcap_cypress/#i-select-the-checkbox-option-string-for-the-field-labeled-string
  11. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L43 - getting warning message after this.
  12. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L44 - Please check if this message is displayed
  13. Try to use as many step definitons from https://aldefouw.github.io/redcap_cypress/ as possible..
  14. Please use more data to validate stats and charts. Maybe use Import function and import data.

@rukayat-yakub : Review Completed. Please change accordingly

Created: 7/19/2024 10:25:44 AM Edited on: 7/19/2024 10:25:44 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L14 can be replaced by actual step definition - I click on the link labeled “”
  3. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L15 can be replaced by actual step definition - Then I should see “Variable: record_id” within the field with variable name “Record ID” . Similarly change the other step definitions.
  4. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L19 can be replaced by actual step definition - I should see “”
  5. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L31C80-L31C87 - can be replaced by actual step definition - I click on the bubble for the “Text Validation” data collection instrument for event “Event 1”
  6. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L34 - no need ‘in the role selector dropdown’ this is used for user roles. Similarly change in lin2 42
  7. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L36 - record ID 2
  8. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L37 - not radio button.. It’s instrument. Please use correct step definition
  9. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L40 - You have used the correct step definition for drop down in line 34. Please use that.
  10. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L41 - use https://aldefouw.github.io/redcap_cypress/#i-select-the-checkbox-option-string-for-the-field-labeled-string
  11. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L43 - getting warning message after this.
  12. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L44 - Please check if this message is displayed
  13. Try to use as many step definitons from https://aldefouw.github.io/redcap_cypress/ as possible..
  14. Please use more data to validate stats and charts. Maybe use Import function and import data.

Created: 7/19/2024 10:24:23 AM Edited on: 7/19/2024 10:24:23 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L14 can be replaced by actual step definition - I click on the link labeled “”
  3. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L15 can be replaced by actual step definition - Then I should see “Variable: record_id” within the field with variable name “Record ID” . Similarly change the other step definitions.
  4. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L19 can be replaced by actual step definition - I should see “”
  5. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L31C80-L31C87 - can be replaced by actual step definition - I click on the bubble for the “Text Validation” data collection instrument for event “Event 1”
  6. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L42C27-L42C56 - no need ‘in the role selector dropdown’ this is used for user roles. Similarly change in lin2 42
  7. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L36 - record ID 2
  8. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L37 - not radio button.. It’s instrument. Please use correct step definition
  9. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L40 - You have used the correct step definition for drop down in line 34. Please use that.
  10. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L41 - use https://aldefouw.github.io/redcap_cypress/#i-select-the-checkbox-option-string-for-the-field-labeled-string
  11. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L43 - getting warning message after this.
  12. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L44 - Please check if this message is displayed
  13. Try to use as many step definitons from https://aldefouw.github.io/redcap_cypress/ as possible..
  14. Please use more data to validate stats and charts. Maybe use Import function and import data.

Created: 7/19/2024 10:22:20 AM Edited on: 7/19/2024 10:22:20 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L14 can be replaced by actual step definition - I click on the link labeled “”
  3. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L15 can be replaced by actual step definition - Then I should see “Variable: record_id” within the field with variable name “Record ID” . Similarly change the other step definitions.
  4. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L19 can be replaced by actual step definition - I should see “”
  5. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L31C80-L31C87 - can be replaced by actual step definition - I click on the bubble for the “Text Validation” data collection instrument for event “Event 1”
  6. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L42C27-L42C56 - no need ‘in the role selector dropdown’ this is used for user roles. Similarly change in lin2 42
  7. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L36 - record ID 2
  8. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L37 - not radio button.. It’s instrument. Please use correct step definition
  9. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L40C18-L40C41 - You have used the correct step definition for drop down in line 34. Please use that.
  10. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L41 - use https://aldefouw.github.io/redcap_cypress/#i-select-the-checkbox-option-string-for-the-field-labeled-string
  11. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L43 - getting warning message after this.
  12. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L44 - Please check if this message is displayed
  13. Try to use as many step definitons from https://aldefouw.github.io/redcap_cypress/ as possible..
  14. Please use more data to validate stats and charts. Maybe use Import function and import data.

Created: 7/19/2024 8:37:55 AM Edited on: 7/19/2024 8:37:55 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L14 can be replaced by actual step definition - I click on the link labeled “”
  3. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L15 can be replaced by actual step definition - Then I should see “Variable: record_id” within the field with variable name “Record ID” . Similarly change the other step definitions.
  4. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L19 can be replaced by actual step definition - I should see “”
  5. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L31C80-L31C87 - can be replaced by actual step definition - I click on the bubble for the “Text Validation” data collection instrument for event “Event 1”

Created: 7/19/2024 8:37:11 AM Edited on: 7/19/2024 8:37:11 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L14 can be replaced by actual step definition - I click on the link labeled “”
  3. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L15 can be replaced by actual step definition - Then I should see “Variable: record_id” within the field with variable name “Record ID” . Similarly change the other step definitions.
  4. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L19 can be replaced by actual step definition - I should see “”
  5. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L31C80-L31C87 - can be replaced by actual step definition - https://aldefouw.github.io/redcap_cypress/#i-click-on-the-bubble-for-the-string-data-collection-instrument-for-recordidevent-string

Created: 7/19/2024 8:36:35 AM Edited on: 7/19/2024 8:36:35 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L14 can be replaced by actual step definition - I click on the link labeled “”
  3. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L15 can be replaced by actual step definition - Then I should see “Variable: record_id” within the field with variable name “Record ID” . Similarly change the other step definitions.
  4. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L19 can be replaced by actual step definition - I should see “”
  5. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L31C80-L31C87 can be replaced by actual step definition -

Created: 7/19/2024 8:36:15 AM Edited on: 7/19/2024 8:36:15 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L14 can be replaced by actual step definition - I click on the link labeled “”
  3. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L15 can be replaced by actual step definition - Then I should see “Variable: record_id” within the field with variable name “Record ID” . Similarly change the other step definitions.
  4. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L19 can be replaced by actual step definition - I should see “”
  5. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L31C80-L31C87 can be replaced by actual step definition - https://aldefouw.github.io/redcap_cypress/#i-click-on-the-bubble-for-the-string-data-collection-instrument-for-recordidevent-string

Created: 7/19/2024 8:34:58 AM Edited on: 7/19/2024 8:34:58 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L14 can be replaced by actual step definition - I click on the link labeled “”
  3. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L15 can be replaced by actual step definition - Then I should see “Variable: record_id” within the field with variable name “Record ID” . Similarly change the other step definitions.
  4. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L19 - I should see “”
  5. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L31C80-L31C87 - use step definition - https://aldefouw.github.io/redcap_cypress/#i-click-on-the-bubble-for-the-string-data-collection-instrument-for-recordidevent-string

Created: 7/19/2024 8:25:54 AM Edited on: 7/19/2024 8:25:54 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L15 can be replaced by actual step definition - I should see “Variable: record_id” within the field with variable name “Record ID”

Created: 7/19/2024 8:25:54 AM Edited on: 7/19/2024 8:25:26 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. ‘I verify I see “Variable: record_id” on the field labeled “Record ID”’ can be replaced by actual step definition - I should see “Variable: record_id” within the field with variable name “Record ID”

Comment:

Author: rukayat-yakub Updated on: 8/6/2024 12:18:07 PM

Comment body:

@MintooXavier i have done the changes please review when you can

Comment:

Author: MintooXavier Updated on: 8/16/2024 8:40:45 AM

Comment body:
  1. Lots of step definitions are still not correct. Please correct it..
  2. Some of the corrections which I mentioned have not be implemented.. Please check and do it accordingly.
  3. As mentioned in the review above, Please use more data to validate stats and charts. Maybe use Import function and import data. i.e. probably with 15- 20 records..

Comment edits:

Created: 8/16/2024 8:40:45 AM Edited on: 8/16/2024 8:40:45 AM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

  1. Lots of step definitions are still not correct. Please correct it..
  2. Some of the corrections which I mentioned have not be implemented.. Please check and do it accordingly.
  3. As mentioned in the review above, Please use more data to validate stats and charts. Maybe use Import function and import data. i.e. probably with 15- 20 records..

Created: 8/15/2024 1:41:22 PM Edited on: 8/15/2024 1:41:22 PM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

  1. Lots of step definitions are still not correct. Please correct it..
  2. Some of the corrections which I mentioned have not be implemented.. Please check and do it accordingly.
  3. As mentioned in the review above, Please use more data to validate stats and charts. Maybe use Import function and import data. i.e. probably with 15- 20 records..

@MintooXavier Please review when you can. I have corrected all you asked

Created: 8/15/2024 1:41:22 PM Edited on: 8/8/2024 10:07:48 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Lots of step definitions are still not correct. Please correct it..
  2. Some of the corrections which I mentioned have not be implemented.. Please check and do it accordingly.
  3. As mentioned in the review above, Please use more data to validate stats and charts. Maybe use Import function and import data. i.e. probably with 15- 20 records..

Comment:

Author: rukayat-yakub Updated on: 8/16/2024 8:40:52 AM

Comment body:

@MintooXavier Please review when you can. I have corrected all you asked

Comment:

Author: MintooXavier Updated on: 8/16/2024 2:57:58 PM

Comment body:
  1. Modify the scriptname
  2. Rename the xml file name used to create the project
  3. rewrite:
    And I create a new project named “D.118.100” by clicking on New Project in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_CUH_v1381.xml” and clicking the “Create Project” button
  4. Rewrite using Gherkin from redcap_rsvc-> Data Import:
    And I upload the file labeled “D118100DataImport_DATA.csv”
  5. Use correct Gherkin for dropdown:
    Then I select the dropdown option labeled “View as Pie Chart”
  6. Review not completed as the csv file used to upload data is not committed. Please commit it and let me know

Comment edits:

Created: 8/16/2024 2:57:58 PM Edited on: 8/16/2024 2:57:58 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Modify the scriptname
  2. Rename the xml file name used to create the project
  3. rewrite: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/19_stats_and_charts.feature#L10
  4. Rewrite using Gherkin from redcap_rsvc-> Data Import: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/19_stats_and_charts.feature#L33
  5. Use correct Gherkin for dropdown: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/19_stats_and_charts.feature#L73
  6. Review not completed as the csv file used to upload data is not committed. Please commit it and let me know

Created: 8/16/2024 2:28:46 PM Edited on: 8/16/2024 2:28:46 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Modify the scriptname
  2. Rename the xml file name used to create the project
  3. rewrite: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/19_stats_and_charts.feature#L10
  4. Rewrite using Gherkin from redcap_rsvc-> Data Import: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/19_stats_and_charts.feature#L33
  5. Use correct Gherkin for dropdown: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/19_stats_and_charts.feature#L73
  6. Review not completed as the csv file used to upload data is not committed

Created: 8/16/2024 2:28:46 PM Edited on: 8/16/2024 2:26:04 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Modify the scriptname
  2. Modify the xml file name used to create the project
  3. rewrite: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/19_stats_and_charts.feature#L10
  4. Rewrite using Gherkin from redcap_rsvc-> Data Import: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/19_stats_and_charts.feature#L33
  5. Use correct Gherkin for dropdown: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/19_stats_and_charts.feature#L73
  6. Review not completed as the csv file used to upload data is not committed

Comment:

Author: rukayat-yakub Updated on: 8/19/2024 7:42:04 PM

Comment body:

@MintooXavier I have imported the file and did all the corrections. Please review when you can

Comment:

Author: MintooXavier Updated on: 8/20/2024 12:55:09 PM

Comment body:

Please create a folder (as mentioned previously) for each feature inside manual_scripts and put the scripts in it. The naming convention would be Data_Resolution_Workflow_106 where 106 is the feature number.

Comment:

Author: rukayat-yakub Updated on: 8/20/2024 2:25:04 PM

Comment body:

@MintooXavier -Done

Comment:

Author: MintooXavier Updated on: 8/21/2024 2:25:41 PM

Comment body:
  1. As mentioned before, you have to put what you see. You don’t actually see this.
  2. So many fields have extra space (from line 15 to 26) .e.g “textbox”
    And I should see “Text Box” within the field with variable name “textbox”
    .
  3. Change to Import Data,
    And I click on the button labeled “Import data”
  4. As mentioned before, you have to put what you see. You don’t actually see this.
  5. Uncomment this and write the correct step definition.
    #Then I select the dropdown option labeled “View as Pie Chart” from the dropdown field labeled “View as Bar Chart”
  6. I see a different value. Same as Bar chart option.
    And I should see “a Pie Chart showing Complete 1(50%), Unverified 1(50%)”
  7. Uncomment this and write the correct step definition.
    #Then I select the dropdown option labeled “View as Pie Chart” from the dropdown field labeled “View as Bar Chart”
  8. Uncomment this and write the correct step definition.
    #Then I select the dropdown option labeled “View as Pie Chart” from the dropdown field labeled “View as Bar Chart”
  9. Uncomment this and write the correct step definition.
    #Then I select the dropdown option labeled “View as Pie Chart” from the dropdown field labeled “View as Bar Chart”
    . Maybe put ‘I select “View as Pie Chart” on the dropdown field labeled “Complete?”’ but this is not exactly correct.
  10. As mentioned in codebook, please make sure all the columns in the table view align properly with ‘|’ placed correctly.
  11. It would be good to add the table for Calculated field as it has min, max, median etc, which might be useful for DMs.
  12. You have checked lots of fields for Data Types which is not required. You can delete steps from 95 till 129 as you are testing similar things in the above steps.
  13. You can keep this.

@rukayat-yakub : Review completed

Comment edits:

Created: 8/21/2024 2:25:41 PM Edited on: 8/21/2024 2:25:41 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L19
  2. So many fields have extra space (from line 15 to 26) .e.g “textbox” https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L21.
  3. Change to Import Data, https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L36
  4. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L41
  5. Uncomment this and write the correct step definition. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L73
  6. I see a different value. Same as Bar chart option. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L74
  7. Uncomment this and write the correct step definition. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L93
  8. Uncomment this and write the correct step definition. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L113
  9. Uncomment this and write the correct step definition. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L128. Maybe put ‘I select “View as Pie Chart” on the dropdown field labeled “Complete?”’ but this is not exactly correct.
  10. As mentioned in codebook, please make sure all the columns in the table view align properly with ‘|’ placed correctly.
  11. It would be good to add the table for Calculated field as it has min, max, median etc, which might be useful for DMs.
  12. You have checked lots of fields for Data Types which is not required. You can delete steps from 95 till 129 as you are testing similar things in the above steps.
  13. You can keep this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L103

@rukayat-yakub : Review completed

Created: 8/21/2024 2:25:41 PM Edited on: 8/21/2024 1:50:23 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L19
  2. So many fields have extra space (from line 15 to 26) .e.g “textbox” https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L21. Probably you can delete lines 12 to 26 as we don’t have to verify these fields.
  3. Change to Import Data, https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L36
  4. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L41
  5. Uncomment this and write the correct step definition. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L73
  6. I see a different value. Same as Bar chart option. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L74
  7. Uncomment this and write the correct step definition. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L93
  8. Uncomment this and write the correct step definition. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L113
  9. Uncomment this and write the correct step definition. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L128
  10. As mentioned in codebook, please make sure all the columns in the table view align properly with ‘|’ placed correctly.
  11. It would be good to add the table for Calculated field as it has min, max, median etc, which might be useful for DMs.
  12. You have checked lots of fields for Data Types which is not required. You can delete steps from 95 till 129 as you are testing similar things in the above steps.
  13. You can keep this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Stats_and_Charts_118/D.118.100_stats_and_charts.feature#L103

@rukayat-yakub : Review completed

Comment:

Author: rukayat-yakub Updated on: 8/29/2024 6:32:01 PM

Comment body:

@MintooXavier - Please review we you can

Comment:

Author: MintooXavier Updated on: 9/4/2024 12:22:49 PM

Comment body:
  1. Provide a brief description of Scenario. This is too big.
    Scenario: Uploading Project D.118.100 consisting Text Validation(Name, Email, Form status) and Data Types(Name, Textbox, Checkbox,multiple choice dropdown list (single answer), Radio Button Manual, File Upload (file_upload), Form status) as instruments through the Online Designer to view stats and charts.
  2. Check variable name.
    And I should see “Name” within the field with variable name “ptname_v2”
  3. Check B.3.16.200 script for Data Import steps.
    When I click on the button labeled “Choose File”

Comment:

Author: MintooXavier Updated on: 9/6/2024 11:49:00 AM

Comment body:

Reviewing again as code was changed and committed before the review was complete.

  1. You are not uploading through online designer. Maybe just put Stats and Charts as Scnario Desciption.
    Scenario: Uploading Project D.118.100 consisting Text Validation and Data Types as instruments through the Online Designer to view stats and charts.
  2. Provide the path of file from redcap_val_fixtures.
    When I upload a “csv” format file located at “D.118.100_Data_Import.csv”, by clicking the button near “Choose File” to browse for the file, and clicking the button labeled “Upload File” to upload the file
  3. Collection - C is not capital.
    | Select a data Collection instrument to view|
    .
  4. Incorrect bracket and comma
    And I should see “a Pie Chart showing Complete 6(40%), Incomplete (4, 26.7%), Unverified 5(33.3%)”
  5. Same as 3.
    Then I select “Data Types” on the dropdown field labeled “Select a data Collection instrument to view” within the data collection instrument list
  6. Wrong field label.
    Then I select “View as Pie Chart” on the dropdown field labeled “Complete?”
  7. The numbers do not match. Could you please check

Image

  1. I can see four 6..
  2. Same as above.
  3. Add a step to click on the plot and to go to the record and verify you can see calculated field with value 6.

@rukayat-yakub : Review completed

Comment:

Author: rukayat-yakub Updated on: 9/27/2024 7:19:05 PM

Comment body:

@MintooXavier : Corrections Completed. Please review when you can

Comment:

Author: MintooXavier Updated on: 9/30/2024 1:50:01 PM

Comment body:
  1. Deleted verifying fields in instrument. It has nothing to do with stats and charts
  2. Step 5 not done in another place.
  3. Corrected Table view alighnments and indentations
  4. I have changed few steps and replaced with more appropraite ones.
  5. Step 10 not done. I have implemented this for missing value of ‘Text Box’ field. Not sure what the below means.Image

I have made all the changes

Comment:

Author: rukayat-yakub Updated on: 9/30/2024 2:03:38 PM

Comment body:

@MintooXavier - The setup verification is there to provide anyone automating the script to know what the project entails before importing the data in because if the import data is changed or the field in the project is changed, importing data won’t be possible (I have tried it before)

Comment:

Author: MintooXavier Updated on: 9/30/2024 2:07:50 PM

Comment body:

@rukayat-yakub : It’s not needed as we are using an xml file to build the DB and we know what the fields and instruments will be in it. Verifying field names and instrument anmes has nothing to do with stats and charts and is not needed.

Comment edits:

Created: 9/30/2024 2:07:50 PM Edited on: 9/30/2024 2:07:50 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@rukayat-yakub : It’s not needed as we are using an xml file to build the DB and we know what the fields and instruments will be in it. Verifying field names and instrument anmes has nothing to do with stats and charts and is not needed.

Created: 9/30/2024 2:07:50 PM Edited on: 9/30/2024 2:07:38 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

It’s not needed as we are using an xml file to build the DB and we know what the fields and instruments will be in it. Verifying field names and instrument anmes has nothing to do with stats and charts and is not needed.

Comment:

Author: rukayat-yakub Updated on: 9/30/2024 2:30:37 PM

Comment body:

@MintooXavier - Okay.. Thank you. The image(5.) of the script was just describing when hovering on the plot below the number. I saw what you mean in the new changes.

Comment edits:

Created: 9/30/2024 2:30:37 PM Edited on: 9/30/2024 2:30:37 PM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

@MintooXavier - Okay.. Thank you. The image(5.) of the script was just describing when hovering on the plot below the number. I saw what you mean in the new changes.

Created: 9/30/2024 2:24:52 PM Edited on: 9/30/2024 2:24:52 PM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

@MintooXavier - Okay.. Thank you

Created: 9/30/2024 2:24:52 PM Edited on: 9/30/2024 2:24:21 PM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

@MintooXavier - Okay


Timeline events:

LABELLED | User: MintooXavier Created on: 6/5/2024 1:33:47 PM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/5/2024 1:33:47 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 6/5/2024 1:33:47 PM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 8:41:30 AM Assignee: rukayat-yakub

ISSUE COMMENT | User: MintooXavier Created on: 6/10/2024 12:51:14 PM Issue comment body:
  1. Please rename the feature file to ‘19_stats_and_charts.feature’ as reports functionality is tested in core features.
  2. Add User Spec

Changes to feature file

  1. Delete steps 6-11.
  2. Add create project step after login
  3. Change step 17 - ‘And I should see the “Project Setup page”’ to ‘And I should see “Project Setup”’ as you see ‘Project Setup’ and there is no ‘Page’ visible. I can see similar code further down.. Please change those as well..
  4. Delete step 18 and similar steps as no scrolling is required.
  5. Change steps 21-23 to ‘I select record ID “1” from arm name “Arm 1: Arm 1” on the Add / Edit record page’
  6. Change Step 26 to ‘I click the bubble to select a record for the “Text Validation” longitudinal instrument on event “Event 1”’
  7. Change step 28 to ’ I enter “John Doe” into the input field labeled “Name” ’
  8. When I created the project it only contains 1 record. Please check and modify accordingly.
  9. Step 57-63 not required as not logged out
  10. Step 71. Write the field names you see
  11. Write a step between Step 78 and 79 to select option to view Pie chart
  12. Verify the data in charts.
  13. No need to test Report functionality.. It is covered in core feature test.
  14. Change the steps definitions using the link: https://aldefouw.github.io/redcap_cypress/
    @rukayat-yakub : Pre review completed.

MENTIONED | User: rukayat-yakub Created on: 6/10/2024 12:51:16 PM

SUBSCRIBED | User: rukayat-yakub Created on: 6/10/2024 12:51:16 PM

ISSUE COMMENT | User: rukayat-yakub Created on: 6/11/2024 2:06:10 PM Issue comment body:

For the no 13, do you mean I should remove the view report? @MintooXavier

MENTIONED | User: MintooXavier Created on: 6/11/2024 2:06:12 PM

SUBSCRIBED | User: MintooXavier Created on: 6/11/2024 2:06:12 PM

ISSUE COMMENT | User: MintooXavier Created on: 6/25/2024 1:10:43 PM Issue comment body:

Yes.. Create and View report functionality is tested in Reporting feature

UNLABELLED | User: rukayat-yakub Created on: 7/16/2024 6:56:40 PM Label name: Manual Label description:

LABELLED | User: rukayat-yakub Created on: 7/16/2024 6:56:40 PM Label name: Automated Label description:

ISSUE COMMENT | User: rukayat-yakub Created on: 7/16/2024 7:05:01 PM Issue comment body:

@MintooXavier Please review when you can

MENTIONED | User: MintooXavier Created on: 7/18/2024 9:53:40 AM

SUBSCRIBED | User: MintooXavier Created on: 7/18/2024 9:53:40 AM

ISSUE COMMENT | User: MintooXavier Created on: 7/18/2024 2:25:46 PM Issue comment body:
  1. Please rename the script to 19_stats_and_charts.feature
  2. Use the xml file Project_CUH_v1381.xml instead of one with a date at the end
ISSUE COMMENT | User: rukayat-yakub Created on: 7/18/2024 3:02:39 PM Issue comment body:

@MintooXavier Done. Please have a look

MENTIONED | User: MintooXavier Created on: 7/18/2024 3:02:40 PM

SUBSCRIBED | User: MintooXavier Created on: 7/18/2024 3:02:40 PM

ISSUE COMMENT | User: MintooXavier Created on: 7/19/2024 8:25:26 AM Issue comment body:

I hadn’t finished reviewing it..

  1. The Project name D.5.100 is misleading as D.5 is reporting. Maybe change it to D.19.100 as 19 is Stats and Charts
  2. And I click on the instrument labeled “Text Validation”
    can be replaced by actual step definition - I click on the link labeled ““
  3. Then I verify I see “Variable: record_id” on the field labeled “Record ID”
    can be replaced by actual step definition - Then I should see “Variable: record_id” within the field with variable name “Record ID” . Similarly change the other step definitions.
  4. And I verify I see “Data Types” instrument
    can be replaced by actual step definition - I should see ““
  5. https://github.com/CCTC-team/redcap_cypress/blob/3aeb76b76e139882c2cb863273ffb23290455133/manual_scripts/19_stats_and_charts.feature#L31C80-L31C87 - can be replaced by actual step definition - I click on the bubble for the “Text Validation” data collection instrument for event “Event 1”
  6. Then I select “Complete” on the dropdown field labeled “Complete?” in the role selector dropdown

@rukayat-yakub : Review Completed. Please change accordingly

MENTIONED | User: rukayat-yakub Created on: 7/19/2024 10:34:47 AM

SUBSCRIBED | User: rukayat-yakub Created on: 7/19/2024 10:34:48 AM

UNLABELLED | User: MintooXavier Created on: 7/29/2024 2:36:52 PM Label name: Automated Label description:

LABELLED | User: MintooXavier Created on: 7/30/2024 2:43:21 PM Label name: Manual Label description:

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:48:31 PM Previous title: 19. Stats and Charts Current title: 118. Stats and Charts

ISSUE COMMENT | User: rukayat-yakub Created on: 8/6/2024 12:18:07 PM Issue comment body:

@MintooXavier i have done the changes please review when you can

MENTIONED | User: MintooXavier Created on: 8/6/2024 12:18:09 PM

SUBSCRIBED | User: MintooXavier Created on: 8/6/2024 12:18:09 PM

ISSUE COMMENT | User: MintooXavier Created on: 8/8/2024 10:07:48 AM Issue comment body:
  1. Lots of step definitions are still not correct. Please correct it..
  2. Some of the corrections which I mentioned have not be implemented.. Please check and do it accordingly.
  3. As mentioned in the review above, Please use more data to validate stats and charts. Maybe use Import function and import data. i.e. probably with 15- 20 records..

MENTIONED | User: MintooXavier Created on: 8/15/2024 1:41:23 PM

SUBSCRIBED | User: MintooXavier Created on: 8/15/2024 1:41:23 PM

ISSUE COMMENT | User: rukayat-yakub Created on: 8/16/2024 8:40:52 AM Issue comment body:

@MintooXavier Please review when you can. I have corrected all you asked

MENTIONED | User: MintooXavier Created on: 8/16/2024 8:40:53 AM

SUBSCRIBED | User: MintooXavier Created on: 8/16/2024 8:40:53 AM

ISSUE COMMENT | User: MintooXavier Created on: 8/16/2024 2:26:04 PM Issue comment body:
  1. Modify the scriptname
  2. Rename the xml file name used to create the project
  3. rewrite:
    And I create a new project named “D.118.100” by clicking on New Project in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_CUH_v1381.xml” and clicking the “Create Project” button
  4. Rewrite using Gherkin from redcap_rsvc-> Data Import:
    And I upload the file labeled “D118100DataImport_DATA.csv”
  5. Use correct Gherkin for dropdown:
    Then I select the dropdown option labeled “View as Pie Chart”
  6. Review not completed as the csv file used to upload data is not committed. Please commit it and let me know
ISSUE COMMENT | User: rukayat-yakub Created on: 8/19/2024 7:42:04 PM Issue comment body:

@MintooXavier I have imported the file and did all the corrections. Please review when you can

MENTIONED | User: MintooXavier Created on: 8/19/2024 7:42:06 PM

SUBSCRIBED | User: MintooXavier Created on: 8/19/2024 7:42:06 PM

ISSUE COMMENT | User: MintooXavier Created on: 8/20/2024 12:55:09 PM Issue comment body:

Please create a folder (as mentioned previously) for each feature inside manual_scripts and put the scripts in it. The naming convention would be Data_Resolution_Workflow_106 where 106 is the feature number.

ISSUE COMMENT | User: rukayat-yakub Created on: 8/20/2024 2:25:04 PM Issue comment body:

@MintooXavier -Done

MENTIONED | User: MintooXavier Created on: 8/20/2024 2:25:06 PM

SUBSCRIBED | User: MintooXavier Created on: 8/20/2024 2:25:06 PM

ISSUE COMMENT | User: MintooXavier Created on: 8/21/2024 1:50:23 PM Issue comment body:
  1. As mentioned before, you have to put what you see. You don’t actually see this.
  2. So many fields have extra space (from line 15 to 26) .e.g “textbox”
    And I should see “Text Box” within the field with variable name “textbox”
    .
  3. Change to Import Data,
    And I click on the button labeled “Import data”
  4. As mentioned before, you have to put what you see. You don’t actually see this.
  5. Uncomment this and write the correct step definition.
    #Then I select the dropdown option labeled “View as Pie Chart” from the dropdown field labeled “View as Bar Chart”
  6. I see a different value. Same as Bar chart option.
    And I should see “a Pie Chart showing Complete 1(50%), Unverified 1(50%)”
  7. Uncomment this and write the correct step definition.
    #Then I select the dropdown option labeled “View as Pie Chart” from the dropdown field labeled “View as Bar Chart”
  8. Uncomment this and write the correct step definition.
    #Then I select the dropdown option labeled “View as Pie Chart” from the dropdown field labeled “View as Bar Chart”
  9. Uncomment this and write the correct step definition.
    #Then I select the dropdown option labeled “View as Pie Chart” from the dropdown field labeled “View as Bar Chart”
    . Maybe put ‘I select “View as Pie Chart” on the dropdown field labeled “Complete?”’ but this is not exactly correct.
  10. As mentioned in codebook, please make sure all the columns in the table view align properly with ‘|’ placed correctly.
  11. It would be good to add the table for Calculated field as it has min, max, median etc, which might be useful for DMs.
  12. You have checked lots of fields for Data Types which is not required. You can delete steps from 95 till 129 as you are testing similar things in the above steps.
  13. You can keep this.

@rukayat-yakub : Review completed

MENTIONED | User: rukayat-yakub Created on: 8/21/2024 1:50:25 PM

SUBSCRIBED | User: rukayat-yakub Created on: 8/21/2024 1:50:25 PM

ISSUE COMMENT | User: rukayat-yakub Created on: 8/29/2024 6:32:01 PM Issue comment body:

@MintooXavier - Please review we you can

MENTIONED | User: MintooXavier Created on: 8/29/2024 6:32:02 PM

SUBSCRIBED | User: MintooXavier Created on: 8/29/2024 6:32:02 PM

ISSUE COMMENT | User: MintooXavier Created on: 9/4/2024 12:22:49 PM Issue comment body:
  1. Provide a brief description of Scenario. This is too big.
    Scenario: Uploading Project D.118.100 consisting Text Validation(Name, Email, Form status) and Data Types(Name, Textbox, Checkbox,multiple choice dropdown list (single answer), Radio Button Manual, File Upload (file_upload), Form status) as instruments through the Online Designer to view stats and charts.
  2. Check variable name.
    And I should see “Name” within the field with variable name “ptname_v2”
  3. Check B.3.16.200 script for Data Import steps.
    When I click on the button labeled “Choose File”
ISSUE COMMENT | User: MintooXavier Created on: 9/6/2024 11:49:00 AM Issue comment body:

Reviewing again as code was changed and committed before the review was complete.

  1. You are not uploading through online designer. Maybe just put Stats and Charts as Scnario Desciption.
    Scenario: Uploading Project D.118.100 consisting Text Validation and Data Types as instruments through the Online Designer to view stats and charts.
  2. Provide the path of file from redcap_val_fixtures.
    When I upload a “csv” format file located at “D.118.100_Data_Import.csv”, by clicking the button near “Choose File” to browse for the file, and clicking the button labeled “Upload File” to upload the file
  3. Collection - C is not capital.
    | Select a data Collection instrument to view|
    .
  4. Incorrect bracket and comma
    And I should see “a Pie Chart showing Complete 6(40%), Incomplete (4, 26.7%), Unverified 5(33.3%)”
  5. Same as 3.
    Then I select “Data Types” on the dropdown field labeled “Select a data Collection instrument to view” within the data collection instrument list
  6. Wrong field label.
    Then I select “View as Pie Chart” on the dropdown field labeled “Complete?”
  7. The numbers do not match. Could you please check

Image

  1. I can see four 6..
  2. Same as above.
  3. Add a step to click on the plot and to go to the record and verify you can see calculated field with value 6.

@rukayat-yakub : Review completed

MENTIONED | User: rukayat-yakub Created on: 9/6/2024 11:49:02 AM

SUBSCRIBED | User: rukayat-yakub Created on: 9/6/2024 11:49:02 AM

ISSUE COMMENT | User: rukayat-yakub Created on: 9/27/2024 7:19:05 PM Issue comment body:

@MintooXavier : Corrections Completed. Please review when you can

MENTIONED | User: MintooXavier Created on: 9/27/2024 7:19:06 PM

SUBSCRIBED | User: MintooXavier Created on: 9/27/2024 7:19:06 PM

ISSUE COMMENT | User: MintooXavier Created on: 9/30/2024 1:50:01 PM Issue comment body:
  1. Deleted verifying fields in instrument. It has nothing to do with stats and charts
  2. Step 5 not done in another place.
  3. Corrected Table view alighnments and indentations
  4. I have changed few steps and replaced with more appropraite ones.
  5. Step 10 not done. I have implemented this for missing value of ‘Text Box’ field. Not sure what the below means.Image

I have made all the changes

ISSUE COMMENT | User: rukayat-yakub Created on: 9/30/2024 2:03:38 PM Issue comment body:

@MintooXavier - The setup verification is there to provide anyone automating the script to know what the project entails before importing the data in because if the import data is changed or the field in the project is changed, importing data won’t be possible (I have tried it before)

MENTIONED | User: MintooXavier Created on: 9/30/2024 2:03:40 PM

SUBSCRIBED | User: MintooXavier Created on: 9/30/2024 2:03:40 PM

ISSUE COMMENT | User: MintooXavier Created on: 9/30/2024 2:07:38 PM Issue comment body:

@rukayat-yakub : It’s not needed as we are using an xml file to build the DB and we know what the fields and instruments will be in it. Verifying field names and instrument anmes has nothing to do with stats and charts and is not needed.

MENTIONED | User: rukayat-yakub Created on: 9/30/2024 2:08:10 PM

SUBSCRIBED | User: rukayat-yakub Created on: 9/30/2024 2:08:10 PM

ISSUE COMMENT | User: rukayat-yakub Created on: 9/30/2024 2:24:21 PM Issue comment body:

@MintooXavier - Okay.. Thank you. The image(5.) of the script was just describing when hovering on the plot below the number. I saw what you mean in the new changes.

MENTIONED | User: MintooXavier Created on: 9/30/2024 2:24:23 PM

SUBSCRIBED | User: MintooXavier Created on: 9/30/2024 2:24:23 PM

ASSIGNED | User: MintooXavier Created on: 11/29/2024 1:28:38 PM Assignee: MintooXavier

UNLABELLED | User: MintooXavier Created on: 11/29/2024 1:29:33 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/29/2024 1:29:33 PM Label name: Automated Label description:


————— feature ends —————



Feature: 101. Two Factor Authentication

Id: I_kwDOIaOBn86LOXCF Uid: redcap_cypress-35
Author: MintooXavier Created: 6/5/2024 12:39:15 PM
Assignees: MintooXavier || rukayat-yakub Resource path: /CCTC-team/redcap_cypress/issues/35
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 7/10/2025 3:21:53 PM
Locked: false Participants: MintooXavier || rukayat-yakub

Project item body:

Brief description:
This feature increases the security of the system by adding an additional security code on top of the password at user login.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/101_two_factor_authentication.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Two%20Factor%20Authentication_101/D.101.100%20-%20Two%20Factor%20Authentication.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Two%20Factor%20Authentication_101/D.101.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Two%20Factor%20Authentication_101/D.101.300%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/101_two_factor_authentication.spec

D.101.100 - The system shall support enabling/disabling of Two-Factor Authentication.
D.101.200 - The system shall support the ability to use Two-Factor Authentication for user login.
D.101.300 - The system shall allow users to bypass Two-Factor Authentication for 24 hours when they select the option.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Two%20Factor%20Authentication_101/D.101.100%20-%20Two%20Factor%20Authentication.feature

Feature: D.101.100 - The system shall support enabling/disabling of Two-Factor Authentication.

As a REDCap end user
I want to see that Two Factor Authentication is functioning as expected

Scenario: D.101.100 Enabling/Disabling of Two-Factor Authentication
    # Two-Factor Authentication Disabled
    Given I login to REDCap with the user "Test_User1" 
    Then I should see "Welcome to REDCap"
    And I logout

    Given I login to REDCap with the user "Test_Admin"
    And I click on the link labeled "Control Center"
    # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system
    When I click on the link labeled "General Configuration"
    Then I should see "General Configuration"
    When I enter "redcap@test.instance" into the input field labeled "Email Address of REDCap Administrator"
    And I click on the button labeled "Save Changes"
    Then I should see "Your system configuration values have now been changed"

    # Enabling Two-Factor Authentication
    When I click on the link labeled "Security & Authentication"
    Then I should see "Security & Authentication Configuration"
    And I should see the dropdown field labeled "Two-Factor Authentication" with the option "Disabled" selected 
    And I should see the dropdown field labeled "Enforce two-factor authentication ONLY for Table-based users?" with the option "No, enforce on all users (Table-based and non-Table-based)" selected
    When I select "Enabled" on the dropdown field labeled "Two-Factor Authentication"
    And I clear field and enter "1" into the input field labeled "Authentication interval: Trust a device's two-factor login for X days?"
    And I click on the button labeled "Save Changes"
    Then I should see "Your system configuration values have now been changed!"
    And I logout

Scenario: D.101.200 Login using Two-Factor Authentication
    # Enter incorrect REDCap Authentication Code
    Given I login to REDCap with the user "Test_User1"
    Then I should see "Two-step verification for REDCap login" in the dialog box
    And I should see a checkbox labeled "Don't prompt me with two-step login on this computer for 24 hours" that is unchecked
    When I click on the radio labeled "Email: Send an email containing your verification code to your email account." in the dialog box
    Then I should see "Enter your verification code" in the dialog box
    And I enter "125593" into the input field labeled "Email" in the dialog box
    And I click on the button labeled "Submit" in the dialog box
    Then I should see "Sorry, but you did not enter a valid verification code. Please try again." in the dialog box
    And I click on the button labeled "Close" in the dialog box

    # Copy and paste REDCap Verification code from MailHog
    Given I open Email
    And I copy the verification code for user "Test_User1@test.edu" from the email with subject "REDCap 2-step login"
   
    Given I login to REDCap with the user "Test_User1"
    Then I should see "Two-step verification for REDCap login" in the dialog box
    And I should see a checkbox labeled "Don't prompt me with two-step login on this computer for 24 hours" that is unchecked
    When I click on the radio labeled "Email: Send an email containing your verification code to your email account." in the dialog box
    And I should see "Enter your verification code" in the dialog box        
    And I paste the verification code into the input field
    And I click on the button labeled "Submit" in the dialog box
    Then I should see "SUCCESS" in the dialog box
    And I should see "Welcome to REDCap"
    And I logout

    # Verification code asked
    Given I visit the REDCap login page
    And I enter "Test_User1" into the input field labeled "Username"
    And I enter "Testing123" into the input field labeled "Password"
    And I click on the button labeled "Log In"  
    Then I should see "Two-step verification for REDCap login" in the dialog box        
    And I logout

Scenario: D.101.300 - Bypass Two-Factor Authentication for 24 hours
    Given I login to REDCap with the user "Test_User2"
    Then I should see "Two-step verification for REDCap login" in the dialog box
    Then I check the checkbox labeled "Don't prompt me with two-step login on this computer for 24 hours" in the dialog box
    And I click on the radio labeled "Email: Send an email containing your verification code to your email account." in the dialog box
    And I should see "Enter your verification code"

    # Copy and paste REDCap Verification code from MailHog
    Given I open Email
    And I copy the verification code for user "Test_User2@test.edu" from the email with subject "REDCap 2-step login"

    Given I login to REDCap with the user "Test_User2"
    Then I should see "Two-step verification for REDCap login" in the dialog box
    Then I check the checkbox labeled "Don't prompt me with two-step login on this computer for 24 hours" in the dialog box
    And I click on the radio labeled "Email: Send an email containing your verification code to your email account." in the dialog box
    And I should see "Enter your verification code" in the dialog box        
    When I paste the verification code into the input field
    And I click on the button labeled "Submit" in the dialog box
    Then I should see "SUCCESS" in the dialog box
    And I should see "Welcome to REDCap"
    And I logout
  
    # No verification code asked
    Given I visit the REDCap login page
    And I enter "Test_User2" into the input field labeled "Username"
    And I enter "Testing123" into the input field labeled "Password"
    And I click on the button labeled "Log In"
    Then I should see "Welcome to REDCap"
    And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Two%20Factor%20Authentication_101/D.101.200%20-%20REDUNDANT.feature

Feature: D.101.200 - The system shall support the ability to use Two-Factor Authentication for user login.

This feature test is REDUNDANT and can be viewed in D.101.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Two%20Factor%20Authentication_101/D.101.300%20-%20REDUNDANT.feature

Feature: D.101.300 - The system shall allow users to bypass Two-Factor Authentication for 24 hours when they select the option.

This feature test is REDUNDANT and can be viewed in D.101.100


Comments:

Comment:

Author: MintooXavier Updated on: 6/21/2024 2:16:53 PM

Comment body:

Add test to include the following:

  1. Enter wrong authentication code - message ‘Sorry, but you did not enter a valid verification code.’

Comment:

Author: MintooXavier Updated on: 10/14/2024 10:04:45 AM

Comment body:
  1. when you login as test-admin, then no need to give username and password.
    And I enter “Test_User” into the input field labeled “Username”
  2. Put the text what you see on the Hom page.
  3. Verify 2Factor Auth is disabled. Then enable it and add the appropriate settings.
    Then I should see “Enabled on the dropdown field labeled Two-Factor Authentication”
    .
  4. When you add ‘Given, When, Then, And’ in front of Gherkin, make sure it makes sense while reading..

I have only reviewed the first part.

Comment edits:

Created: 10/14/2024 10:04:45 AM Edited on: 10/14/2024 10:04:45 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. when you login as test-admin, then no need to give username and password. https://github.com/CCTC-team/redcap_cypress/blob/d81b8723fb22f4350d5defaadb9b8673bc7c0d23/manual_scripts/Two%20Factor%20Authentication_101/D.101.100%20-%20Two%20Factor%20Authentication.feature#L11
  2. Put the text what you see on the Hom page. https://github.com/CCTC-team/redcap_cypress/blob/d81b8723fb22f4350d5defaadb9b8673bc7c0d23/manual_scripts/Two%20Factor%20Authentication_101/D.101.100%20-%20Two%20Factor%20Authentication.feature#L14
  3. Verify 2Factor Auth is disabled. Then enable it and add the appropriate settings. https://github.com/CCTC-team/redcap_cypress/blob/d81b8723fb22f4350d5defaadb9b8673bc7c0d23/manual_scripts/Two%20Factor%20Authentication_101/D.101.100%20-%20Two%20Factor%20Authentication.feature#L21.
  4. When you add ‘Given, When, Then, And’ in front of Gherkin, make sure it makes sense while reading..

I have only reviewed the first part.

Created: 10/14/2024 10:04:45 AM Edited on: 10/14/2024 10:00:13 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. when you login as test-admin, then no need to give username and password. https://github.com/CCTC-team/redcap_cypress/blob/d81b8723fb22f4350d5defaadb9b8673bc7c0d23/manual_scripts/Two%20Factor%20Authentication_101/D.101.100%20-%20Two%20Factor%20Authentication.feature#L11
  2. Put the text what you see on the Hom page. https://github.com/CCTC-team/redcap_cypress/blob/d81b8723fb22f4350d5defaadb9b8673bc7c0d23/manual_scripts/Two%20Factor%20Authentication_101/D.101.100%20-%20Two%20Factor%20Authentication.feature#L14
  3. Verify 2Factor Auth is disabled. Then enable it and add the appropriate settings. https://github.com/CCTC-team/redcap_cypress/blob/d81b8723fb22f4350d5defaadb9b8673bc7c0d23/manual_scripts/Two%20Factor%20Authentication_101/D.101.100%20-%20Two%20Factor%20Authentication.feature#L21

I have only reviewed the first part.

Comment:

Author: rukayat-yakub Updated on: 10/14/2024 12:29:20 PM

Comment body:

@MintooXavier - Did the corrections. Please have a look when you can

Comment:

Author: MintooXavier Updated on: 10/15/2024 2:56:06 PM

Comment body:

I have modified and completed the script. Code pushed to github

Script Pre-reviewed and Tests Pass

Comment:

Author: MintooXavier Updated on: 12/2/2024 2:09:07 PM

Comment body:

Scripts automated


Timeline events:

LABELLED | User: MintooXavier Created on: 6/5/2024 12:51:35 PM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/5/2024 12:51:35 PM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 8:43:15 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 6/21/2024 2:16:53 PM Issue comment body:

Add test to include the following:

  1. Enter wrong authentication code - message ‘Sorry, but you did not enter a valid verification code.’

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:43:24 PM Previous title: 1. Two Factor Authentication Current title: 101. Two Factor Authentication

LABELLED | User: rukayat-yakub Created on: 9/3/2024 3:14:56 AM Label name: Gherkin Label description: Uses a Gherkin syntax

ASSIGNED | User: MintooXavier Created on: 9/3/2024 9:09:14 AM Assignee: rukayat-yakub

UNASSIGNED | User: MintooXavier Created on: 9/3/2024 9:09:14 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 10/14/2024 10:00:13 AM Issue comment body:
  1. when you login as test-admin, then no need to give username and password.
    And I enter “Test_User” into the input field labeled “Username”
  2. Put the text what you see on the Hom page.
  3. Verify 2Factor Auth is disabled. Then enable it and add the appropriate settings.
    Then I should see “Enabled on the dropdown field labeled Two-Factor Authentication”
    .
  4. When you add ‘Given, When, Then, And’ in front of Gherkin, make sure it makes sense while reading..

I have only reviewed the first part.

ISSUE COMMENT | User: rukayat-yakub Created on: 10/14/2024 12:29:20 PM Issue comment body:

@MintooXavier - Did the corrections. Please have a look when you can

MENTIONED | User: MintooXavier Created on: 10/14/2024 12:29:22 PM

SUBSCRIBED | User: MintooXavier Created on: 10/14/2024 12:29:22 PM

LABELLED | User: MintooXavier Created on: 10/15/2024 9:00:34 AM Label name: Doubtful of Automating Label description:

UNLABELLED | User: MintooXavier Created on: 10/15/2024 9:03:25 AM Label name: Doubtful of Automating Label description:

ISSUE COMMENT | User: MintooXavier Created on: 10/15/2024 2:56:06 PM Issue comment body:

I have modified and completed the script. Code pushed to github

Script Pre-reviewed and Tests Pass

LABELLED | User: MintooXavier Created on: 10/15/2024 2:59:09 PM Label name: Doubtful of Automating Label description:

UNLABELLED | User: MintooXavier Created on: 12/2/2024 2:00:14 PM Label name: Doubtful of Automating Label description:

ISSUE COMMENT | User: MintooXavier Created on: 12/2/2024 2:09:07 PM Issue comment body:

Scripts automated

ASSIGNED | User: MintooXavier Created on: 12/2/2024 2:09:13 PM Assignee: MintooXavier

UNLABELLED | User: MintooXavier Created on: 12/2/2024 2:09:21 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 12/2/2024 2:09:21 PM Label name: Automated Label description:


————— feature ends —————



Feature: 119. Downloading Metadata

Id: I_kwDOIaOBn86LPoww Uid: redcap_cypress-40
Author: MintooXavier Created: 6/5/2024 2:49:07 PM
Assignees: MintooXavier || TanDBPRO Resource path: /CCTC-team/redcap_cypress/issues/40
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:07:22 PM
Locked: false Participants: MintooXavier || TanDBPRO

Project item body:

Brief description:
This feature is used to test the downloading feature functionality.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/119_downloading_metadata.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Downloading%20Metadata_119/D.119.100%20-%20Downloading%20metadata.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Downloading%20Metadata_119/D.119.200%20-%20Downloading%20metadata%20and%20data.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/119_downloading_metadata.spec

D.119.100 - The system shall support the ability to download metadata only (XML)
D.119.200 - The system shall support the ability to download metadata and data (XML)

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Downloading%20Metadata_119/D.119.100%20-%20Downloading%20metadata.feature

Feature: D.119.100 Downloading Metadata - The system shall support the ability to download metadata only (XML)

As a REDCap end user I want to see that downloading metadata only feature is functioning as expected

Scenario: D.119.100 - Downloading Metadata only(XML) consisting Text Validation(Record ID,Name, Email, Form status) and Data Types(Name, Text2, Textbox, Notes Box, Calculated Field, Multiple choice dropdown Auto, Multiple choice dropdown Manual, Radio Button Manual, Checkbox, Signature (add signature), File Upload (file_upload), Section break, Descriptive Text with File,Identifier,Identifier, Edit Field, Section break, Descriptive Text, Form Status) as instruments shown in Online Designer. User roles, Data Access Group and Data Quality to be included in XML. Given I login to REDCap with the user “Test_User1”
And I create a new project named “D.119.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

#ACTION: Download Metadata only xml file for project D.119.100
Given I click on the link labeled "Project Setup"
Then I click on the link labeled "Other Functionality"
And I click on the button labeled "Download metadata only (XML)"

#FUNCTIONAL_REQUIREMENT
#ACTION: Create new Project using downloaded metadata file and verify
Given I click on the link labeled "My Projects"
And I create a new project named "D.119.100_Metadata_only" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing the latest downloaded CDISC file, and clicking the "Create Project" button
#VERIFY: Project settings
When I click on the link labeled "Project Setup"
And I should see the button labeled "Enable" in the "Use surveys in this project?" row in the "Main project settings" section
And I should see the button labeled "Disable" in the "Use longitudinal data collection with defined events?" row in the "Main project settings" section

#VERIFY: Instruments
When I click on the button labeled "Online Designer" 
Then I should see a table header and rows containing the following values in a table:
  | Instrument name          | Fields |
  | Text Validation          | 3      |
  | Data Types               | 18     |

#VERIFY: No Data
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet" 

#VERIFY: Events and Arms 
When I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
Then I see "Arm 1"
And I should see a table header and rows containing the following values in the define events table:
  | Event # | Event Label | Unique event name (auto generated) [event-name] |
  | 1       | Event 1     | event_1_arm_1                                   |
  | 2       | Event 2     | event_2_arm_1                                   |
  | 3       | Event Three | event_three_arm_1                               |

Then I click on the tab labeled "Arm Two" 
And I should see a table header and rows containing the following values in the define events table:
  | Event # | Event Label | Unique event name (auto generated) [event-name] |
  | 1       | Event 1     | event_1_arm_2                                   |
 
Then I click on the tab labeled "Designate Instruments for My Events"
And I click on the tab labeled "Arm 1" 
And I verify the Data Collection Instrument named "Text Validation" is enabled for the Event named "Event 1"  
And I verify the Data Collection Instrument named "Data Types" is enabled for the Event named "Event 1" 
Then I click on the tab labeled "Arm Two" 
And I verify the Data Collection Instrument named "Data Types" is enabled for the Event named "Event 1" 

#VERIFY: Enable optional modules and customizations
Given I click on the link labeled "Project Setup"
Then I see the button labeled "Modify" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section
And I should see the button labeled "Disable" in the "Auto-numbering for records" row in the "Enable optional modules and customizations" section
# And I should see the button labeled "Enable" in the "Scheduling module (longitudinal only)" row in the "Enable optional modules and customizations" section 
And I should see the button labeled "Enable" in the "Randomization module" row in the "Enable optional modules and customizations" section
And I should see the button labeled "Enable" in the "Designate an email field for communications (including survey invitations and alerts)" row in the "Enable optional modules and customizations" section 
And I should see the button labeled "Enable" in the "Twilio SMS and Voice Call services for surveys and alerts" row in the "Enable optional modules and customizations" section
# Add in mappings.js - 'Enable optional modules and customizations' : 'Mosio SMS services for surveys and alerts
And I should see the button labeled "Enable" in the "Mosio SMS services for surveys and alerts" row in the "Enable optional modules and customizations" section
And I should see the button labeled "Enable" in the "SendGrid Template email services for Alerts & Notifications" row in the "Enable optional modules and customizations" section

#VERIFY: Additional customizations
When I click on the button labeled "Additional customizations"
And I should see a checkbox labeled "Enable the Field Comment Log or Data Resolution Workflow (Data Queries)?" that is checked
And I should see a checkbox labeled "Set a Custom Record Label" that is unchecked
And I should see a checkbox labeled "Designate a Secondary Unique Field" that is unchecked
And I should see a checkbox labeled "Order the records by another field" that is unchecked
And I should see a checkbox labeled "Enable the Field Comment Log or Data Resolution Workflow (Data Queries)" that is checked
And I should see the dropdown field labeled "Enable:" with the option "Field Comment Log" selected
And I should see a checkbox labeled "Allow users to edit or delete Field Comments (excludes Data Resolution Workflow comments)?" that is checked
And I should see a checkbox labeled "PDF Customizations" that is unchecked
And I should see a checkbox labeled "Enable the Data History popup for all data collection instruments?" that is checked
And I should see a checkbox labeled "Enable the File Version History for 'File Upload' fields?" that is checked
And I should see a checkbox labeled "Display the Today/Now button for all date and time fields on forms/surveys?" that is checked
And I should see a checkbox labeled "Prevent branching logic from hiding fields that have values" that is unchecked
And I should see a checkbox labeled "Require a 'reason' when making changes to existing records?" that is unchecked
And I should see a checkbox labeled "Protected Email Mode" that is unchecked
And I should see a checkbox labeled "Data Entry Trigger" that is unchecked
And I click on the button labeled "Cancel" in the dialog box

#VERIFY: Data Quality
When I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"
And I should see a table header and rows containing the following values in a table: 
  | Rule # |                   Rule Name                         | Rule Logic (Show discrepancy  only if...) |        
  | A      | Blank values*                                       |  -                                        |  
  | B      | Blank values* (required fields only)                |  -                                        |  
  | C      | Field validation errors (incorrect data type)       |  -                                        |  
  | D      | Field validation errors (out of range)              |  -                                        |  
  | E      | Outliers for numerical fields                       |  -                                        |
  | E      | (numbers, integers, sliders, calc fields)**         |  -                                        |  
  | F      | Hidden fields that contain values***                |  -                                        |  
  | G      | Multiple choice fields with invalid values          |  -                                        |  
  | H      | Incorrect values for calculated fields              |  -                                        |  
  | I      | Fields containing "missing data codes"              |  -                                        |  
  | 1      | Identifier more than 8                              |  [identifier] > 8                                |  

#VERIFY: User Rights
When I click on the link labeled "User Rights"
And I click on the link labeled "test_user1"
And I click on the button labeled "Edit user privileges" on the tooltip
Then I should see a dialog containing the following text: "Editing existing user"
And I should see the Data Viewing Rights of the instrument "Text Validation" with option View & Edit selected
And I should see the Data Viewing Rights of the instrument "Data Types" with option View & Edit selected
And I should see the Data Export Rights of the instrument "Text Validation" with option Full Data Set selected
And I should see the Data Export Rights of the instrument "Data Types" with option Full Data Set selected

And I should see a checkbox labeled "Project Design and Setup" that is checked
And I should see a checkbox labeled "User Rights" that is checked
And I should see a checkbox labeled "Data Access Groups" that is checked
And I should see a checkbox labeled "Alerts & Notifications" that is checked
And I should see a checkbox labeled "Calendar" that is checked
And I should see a checkbox labeled "Add/Edit/Organize Reports" that is checked
And I should see a checkbox labeled "Stats & Charts" that is checked
And I should see a checkbox labeled "Data Import Tool" that is checked
And I should see a checkbox labeled "Data Comparison Tool" that is checked
And I should see a checkbox labeled "Logging" that is checked
And I should see a checkbox labeled "File Repository" that is checked
And I should see a checkbox labeled "Create & edit rules" that is checked
And I should see a checkbox labeled "Execute rules" that is checked
And I should see a checkbox labeled "API Export" that is unchecked
And I should see a checkbox labeled "API Import/Update" that is unchecked
And I should see a checkbox labeled "Allows user to collect data offline in the mobile app" that is checked
And I should see a checkbox labeled "Allow user to download data for all records to the app?" that is checked
And I should see a checkbox labeled "Create Records" that is checked
And I should see a checkbox labeled "Rename Records" that is unchecked
And I should see a checkbox labeled "Delete Records" that is unchecked
And I should see a checkbox labeled "Record Locking Customization" that is unchecked
And I should see a radio labeled "Disabled" that is checked
And I should see a checkbox labeled "Lock/Unlock *Entire* Records (record level)" that is unchecked
And I click on the button labeled "Cancel"

#VERIFY: DAGS
When I click on the link labeled "DAGs"
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups        | Users in group                                 | Number of records in group | Unique group name (auto generated) | Group ID number |
  | DAG1                      |                                                |          0                 | dag1                               | 2               |  
  | [Not assigned to a group] | test_user1 (Test User1) * Can view ALL records |                            |                                    |                 |

#VERIFY: Codebook - Instruments and Fields
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:  
  | #  | Variabl / Field Name                        | Field Label                                               | Field Attributes (Field Type, Validation, Choices, Calculations, etc.) | 
  |    | Instrument: Text Validation (text_validation)|                                                           |                                                                        |   
  | 1  | [record_id]                                  | Record ID                                                 | text                                                                   |  
  | 2  | [ptname_v2_v2]                               | Name                                                      | text                                                                   |  
  | 3  | [email_v2]                                   | Email                                                     | text (email)                                                           |  
  | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?                     | dropdown                                                               | 
  | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?                     | 0 Incomplete                                                           | 
  | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?                     | 1 Unverified                                                           | 
  | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?                     | 2 Complete                                                             |  
  |    | Instrument: Data Types (data_types)          |                                                           |                                                                        | 
  | 5  | [ptname]                                     | Name                                                      | text                                                                   | 
  | 6  | [text2]                                      | text2                                                     | text                                                                   |   
  | 7  | [textbox]                                    | Text Box                                                  | text                                                                   |   
  | 8  | [notesbox]                                   | Notes Box                                                 | notes                                                                  | 
  | 9  | [calculated_field]                           | Calculated Field                                          | calc Calculation: 3*2                                                  |
  | 10 | [multiple_dropdown_auto]                     | Multiple Choice Dropdown Auto                             | dropdown                                                               |
  | 10 | [multiple_dropdown_auto]                     | Multiple Choice Dropdown Auto                             | 1 DDChoice1                                                            |
  | 10 | [multiple_dropdown_auto]                     | Multiple Choice Dropdown Auto                             | 1 DDChoice2                                                            |
  | 10 | [multiple_dropdown_auto]                     | Multiple Choice Dropdown Auto                             | 1 DDChoice3                                                            |
  | 11 | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual                           | dropdown                                                               |
  | 11 | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual                           | 5 DDChoice5                                                            |
  | 11 | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual                           | 7 DDChoice6                                                            |
  | 11 | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual                           | 6 DDChoice7                                                            |
  | 12 | [radio_button_auto]                          | Radio Button Auto                                         | radio                                                                  |
  | 12 | [radio_button_auto]                          | Radio Button Auto                                         | 1 Choice1                                                              |
  | 12 | [radio_button_auto]                          | Radio Button Auto                                         | 2 Choice2                                                              |
  | 12 | [radio_button_auto]                          | Radio Button Auto                                         | 3 Choice.3                                                              |
  | 13 | [radio_button_manual]                        | Radio Button Manual                                       | radio                                                                  | 
  | 13 | [radio_button_manual]                        | Radio Button Manual                                       | 9..9 Choice99                                                          | 
  | 13 | [radio_button_manual]                        | Radio Button Manual                                       | 100 Choice100                                                          | 
  | 13 | [radio_button_manual]                        | Radio Button Manual                                       | 101 Choice101                                                          | 
  | 14 | [checkbox]                                   | Checkbox                                                  | checkbox                                                               |
  | 14 | [checkbox]                                   | Checkbox                                                  | 1 checkbox___1 Checkbox                                                |
  | 14 | [checkbox]                                   | Checkbox                                                  | 2 checkbox___2 Checkbox2                                               |
  | 14 | [checkbox]                                   | Checkbox                                                  | 3 checkbox___3 Checkbox3                                               |
  | 15 | [signature]                                  | Signature                                                 | file (signature)                                                       |                                            
  | 16 | [file_upload]                                | File Upload                                               | file                                                                   |
  | 17 | [descriptive_file_text]                      | Section Header: Section Break Descriptive Text with File  | descriptive                                                            |
  | 18 | [required]                                   | Required                                                  | text                                                                   |                                                  
  | 19 | [identifier]                                 | Identifier                                                | text, Identifier                                                       |
  | 20 | [identifier_2]                               | Identifier                                                | text, Identifier                                                       |
  | 21 | [edit_field]                                 | Edit Field                                                | text                                                                   |
  | 22 | [descriptive_text]                           | Section Header: Section Break Descriptive Text            | descriptive                                                            |
  | 23 | [data_types_complete]                        | Section Header: Form Status Complete?                     | dropdown                                                               | 
  | 23 | [data_types_complete]                        | Section Header: Form Status Complete?                     | 0 Incomplete                                                           | 
  | 23 | [data_types_complete]                        | Section Header: Form Status Complete?                     | 1 Unverified                                                           | 
  | 23 | [data_types_complete]                        | Section Header: Form Status Complete?                     | 2 Complete                                                             |   
And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Downloading%20Metadata_119/D.119.200%20-%20Downloading%20metadata%20and%20data.feature

Feature: D.119.200 Downloading Metadata and data - The system shall support the ability to download metadata and data (XML)

As a REDCap end user I want to see that downloading metadata and data feature is functioning as expected

Scenario: Scenario: 1 D.119.200 - Download metadata & data(XML) consisting Text Validation(Record ID,Name, Email, Form status) and Data Types(Name, Text2, Textbox, Notes Box, Calculated Field, Multiple choice dropdown Auto, Multiple choice dropdown Manual, Radio Button Manual, Checkbox, Signature (add signature), File Upload (file_upload), Section break, Descriptive Text with File,Identifier,Identifier, Edit Field, Section break, Descriptive Text, Form Status) as instruments shown in Online Designer. All records, User roles, Data Access Group and Data Quality to be included in XML. Given I login to REDCap with the user “Test_User1”
And I create a new project named “D.119.200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

#ACTION: Import data 
Given I click on the link labeled "Data Import Tool"
And  I upload a "csv" format file located at "import_files/redcap_val/D.119.100_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_RSD: 2 records
When I click on the link labeled "Record Status Dashboard"
And I should see a table header and rows containing the following values in a table: 
| Record ID |
| 1         |
| 2         |      

#ACTION: Download Metadata and data xml file for project D.119.200
Given I click on the link labeled "Project Setup"
Then I click on the link labeled "Other Functionality"
And I click on the button labeled "Download metadata & data (XML)"
Then I should see a dialog containing the following text: 'Exporting "Entire project (metadata & data)"' 
And I click on the button labeled "Export Entire Project (metadata & data)" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"
And I click on the icon REDCap XML to download REDCap Project (XML)
And I click on the button labeled "Close" in the dialog box

#FUNCTIONAL_REQUIREMENT
#ACTION: Create new Project using downloaded metadata and data file and verify
Given I click on the link labeled "My Projects"
And I create a new project named "D.119.200_Metadata_and_Data" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing the latest downloaded CDISC file, and clicking the "Create Project" button

#VERIFY: Project settings
When I click on the link labeled "Project Setup"
And I should see the button labeled "Enable" in the "Use surveys in this project?" row in the "Main project settings" section
And I should see the button labeled "Disable" in the "Use longitudinal data collection with defined events?" row in the "Main project settings" section

#VERIFY: Instruments
When I click on the button labeled "Online Designer" 
Then I should see a table header and rows containing the following values in a table:
  | Instrument name          | Fields |
  | Text Validation          | 3      |
  | Data Types               | 18     |

#VERIFY: Events and Arms 
When I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
Then I see "Arm 1"
And I should see a table header and rows containing the following values in the define events table:
  | Event # | Event Label | Unique event name (auto generated) [event-name] |
  | 1       | Event 1     | event_1_arm_1                                   |
  | 2       | Event 2     | event_2_arm_1                                   |
  | 3       | Event Three | event_three_arm_1                               |

Then I click on the tab labeled "Arm Two" 
And I should see a table header and rows containing the following values in the define events table:
  | Event # | Event Label | Unique event name (auto generated) [event-name] |
  | 1       | Event 1     | event_1_arm_2                                   |

Then I click on the tab labeled "Designate Instruments for My Events"
And I click on the tab labeled "Arm 1" 
And I verify the Data Collection Instrument named "Text Validation" is enabled for the Event named "Event 1"  
And I verify the Data Collection Instrument named "Data Types" is enabled for the Event named "Event 1" 
Then I click on the tab labeled "Arm Two" 
And I verify the Data Collection Instrument named "Data Types" is enabled for the Event named "Event 1" 

#VERIFY: Enable optional modules and customizations
Given I click on the link labeled "Project Setup"
Then I see the button labeled "Modify" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section
And I should see the button labeled "Disable" in the "Auto-numbering for records" row in the "Enable optional modules and customizations" section
# And I should see the button labeled "Enable" in the "Scheduling module (longitudinal only)" row in the "Enable optional modules and customizations" section 
And I should see the button labeled "Enable" in the "Randomization module" row in the "Enable optional modules and customizations" section
And I should see the button labeled "Enable" in the "Designate an email field for communications (including survey invitations and alerts)" row in the "Enable optional modules and customizations" section 
And I should see the button labeled "Enable" in the "Twilio SMS and Voice Call services for surveys and alerts" row in the "Enable optional modules and customizations" section
# Add in mappings.js - 'Enable optional modules and customizations' : 'Mosio SMS services for surveys and alerts
And I should see the button labeled "Enable" in the "Mosio SMS services for surveys and alerts" row in the "Enable optional modules and customizations" section
And I should see the button labeled "Enable" in the "SendGrid Template email services for Alerts & Notifications" row in the "Enable optional modules and customizations" section

#VERIFY: Additional customizations
When I click on the button labeled "Additional customizations"
And I should see a checkbox labeled "Enable the Field Comment Log or Data Resolution Workflow (Data Queries)?" that is checked
And I should see a checkbox labeled "Set a Custom Record Label" that is unchecked
And I should see a checkbox labeled "Designate a Secondary Unique Field" that is unchecked
And I should see a checkbox labeled "Order the records by another field" that is unchecked
And I should see a checkbox labeled "Enable the Field Comment Log or Data Resolution Workflow (Data Queries)" that is checked
And I should see the dropdown field labeled "Enable:" with the option "Field Comment Log" selected
And I should see a checkbox labeled "Allow users to edit or delete Field Comments (excludes Data Resolution Workflow comments)?" that is checked
And I should see a checkbox labeled "PDF Customizations" that is unchecked
And I should see a checkbox labeled "Enable the Data History popup for all data collection instruments?" that is checked
And I should see a checkbox labeled "Enable the File Version History for 'File Upload' fields?" that is checked
And I should see a checkbox labeled "Display the Today/Now button for all date and time fields on forms/surveys?" that is checked
And I should see a checkbox labeled "Prevent branching logic from hiding fields that have values" that is unchecked
And I should see a checkbox labeled "Require a 'reason' when making changes to existing records?" that is unchecked
And I should see a checkbox labeled "Protected Email Mode" that is unchecked
And I should see a checkbox labeled "Data Entry Trigger" that is unchecked
And I click on the button labeled "Cancel" in the dialog box

#VERIFY: Data Quality
When I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"
And I should see a table header and rows containing the following values in a table: 
  | Rule # |                   Rule Name                         | Rule Logic (Show discrepancy  only if...) |        
  | A      | Blank values*                                       |  -                                        |  
  | B      | Blank values* (required fields only)                |  -                                        |  
  | C      | Field validation errors (incorrect data type)       |  -                                        |  
  | D      | Field validation errors (out of range)              |  -                                        |  
  | E      | Outliers for numerical fields                       |  -                                        |
  | E      | (numbers, integers, sliders, calc fields)**         |  -                                        |  
  | F      | Hidden fields that contain values***                |  -                                        |  
  | G      | Multiple choice fields with invalid values          |  -                                        |  
  | H      | Incorrect values for calculated fields              |  -                                        |  
  | I      | Fields containing "missing data codes"              |  -                                        |  
  | 1      | Identifier more than 8                              |  [identifier] > 8                                |  

#VERIFY: User Rights
When I click on the link labeled "User Rights"
And I click on the link labeled "test_user1"
And I click on the button labeled "Edit user privileges" on the tooltip
Then I should see a dialog containing the following text: "Editing existing user"
And I should see the Data Viewing Rights of the instrument "Text Validation" with option View & Edit selected
And I should see the Data Viewing Rights of the instrument "Data Types" with option View & Edit selected
And I should see the Data Export Rights of the instrument "Text Validation" with option Full Data Set selected
And I should see the Data Export Rights of the instrument "Data Types" with option Full Data Set selected

And I should see a checkbox labeled "Project Design and Setup" that is checked
And I should see a checkbox labeled "User Rights" that is checked
And I should see a checkbox labeled "Data Access Groups" that is checked
And I should see a checkbox labeled "Alerts & Notifications" that is checked
And I should see a checkbox labeled "Calendar" that is checked
And I should see a checkbox labeled "Add/Edit/Organize Reports" that is checked
And I should see a checkbox labeled "Stats & Charts" that is checked
And I should see a checkbox labeled "Data Import Tool" that is checked
And I should see a checkbox labeled "Data Comparison Tool" that is checked
And I should see a checkbox labeled "Logging" that is checked
And I should see a checkbox labeled "File Repository" that is checked
And I should see a checkbox labeled "Create & edit rules" that is checked
And I should see a checkbox labeled "Execute rules" that is checked
And I should see a checkbox labeled "API Export" that is unchecked
And I should see a checkbox labeled "API Import/Update" that is unchecked
And I should see a checkbox labeled "Allows user to collect data offline in the mobile app" that is checked
And I should see a checkbox labeled "Allow user to download data for all records to the app?" that is checked
And I should see a checkbox labeled "Create Records" that is checked
And I should see a checkbox labeled "Rename Records" that is unchecked
And I should see a checkbox labeled "Delete Records" that is unchecked
And I should see a checkbox labeled "Record Locking Customization" that is unchecked
And I should see a radio labeled "Disabled" that is checked
And I should see a checkbox labeled "Lock/Unlock *Entire* Records (record level)" that is unchecked
And I click on the button labeled "Cancel"

#VERIFY: DAGS
When I click on the link labeled "DAGs"
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups        | Users in group                                 | Number of records in group | Unique group name (auto generated) | Group ID number |
  | DAG1                      |                                                |          0                 | dag1                               | 2               |  
  | [Not assigned to a group] | test_user1 (Test User1) * Can view ALL records |                            |                                    |                 |

#VERIFY: Codebook - Instruments and Fields
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:  
  | #  | Variabl / Field Name                        | Field Label                                               | Field Attributes (Field Type, Validation, Choices, Calculations, etc.) | 
  |    | Instrument: Text Validation (text_validation)|                                                           |                                                                        |   
  | 1  | [record_id]                                  | Record ID                                                 | text                                                                   |  
  | 2  | [ptname_v2_v2]                               | Name                                                      | text                                                                   |  
  | 3  | [email_v2]                                   | Email                                                     | text (email)                                                           |  
  | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?                     | dropdown                                                               | 
  | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?                     | 0 Incomplete                                                           | 
  | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?                     | 1 Unverified                                                           | 
  | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?                     | 2 Complete                                                             |  
  |    | Instrument: Data Types (data_types)          |                                                           |                                                                        | 
  | 5  | [ptname]                                     | Name                                                      | text                                                                   | 
  | 6  | [text2]                                      | text2                                                     | text                                                                   |   
  | 7  | [textbox]                                    | Text Box                                                  | text                                                                   |   
  | 8  | [notesbox]                                   | Notes Box                                                 | notes                                                                  | 
  | 9  | [calculated_field]                           | Calculated Field                                          | calc Calculation: 3*2                                                  |
  | 10 | [multiple_dropdown_auto]                     | Multiple Choice Dropdown Auto                             | dropdown                                                               |
  | 10 | [multiple_dropdown_auto]                     | Multiple Choice Dropdown Auto                             | 1 DDChoice1                                                            |
  | 10 | [multiple_dropdown_auto]                     | Multiple Choice Dropdown Auto                             | 1 DDChoice2                                                            |
  | 10 | [multiple_dropdown_auto]                     | Multiple Choice Dropdown Auto                             | 1 DDChoice3                                                            |
  | 11 | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual                           | dropdown                                                               |
  | 11 | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual                           | 5 DDChoice5                                                            |
  | 11 | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual                           | 7 DDChoice6                                                            |
  | 11 | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual                           | 6 DDChoice7                                                            |
  | 12 | [radio_button_auto]                          | Radio Button Auto                                         | radio                                                                  |
  | 12 | [radio_button_auto]                          | Radio Button Auto                                         | 1 Choice1                                                              |
  | 12 | [radio_button_auto]                          | Radio Button Auto                                         | 2 Choice2                                                              |
  | 12 | [radio_button_auto]                          | Radio Button Auto                                         | 3 Choice.3                                                              |
  | 13 | [radio_button_manual]                        | Radio Button Manual                                       | radio                                                                  | 
  | 13 | [radio_button_manual]                        | Radio Button Manual                                       | 9..9 Choice99                                                          | 
  | 13 | [radio_button_manual]                        | Radio Button Manual                                       | 100 Choice100                                                          | 
  | 13 | [radio_button_manual]                        | Radio Button Manual                                       | 101 Choice101                                                          | 
  | 14 | [checkbox]                                   | Checkbox                                                  | checkbox                                                               |
  | 14 | [checkbox]                                   | Checkbox                                                  | 1 checkbox___1 Checkbox                                                |
  | 14 | [checkbox]                                   | Checkbox                                                  | 2 checkbox___2 Checkbox2                                               |
  | 14 | [checkbox]                                   | Checkbox                                                  | 3 checkbox___3 Checkbox3                                               |
  | 15 | [signature]                                  | Signature                                                 | file (signature)                                                       |                                            
  | 16 | [file_upload]                                | File Upload                                               | file                                                                   |
  | 17 | [descriptive_file_text]                      | Section Header: Section Break Descriptive Text with File  | descriptive                                                            |
  | 18 | [required]                                   | Required                                                  | text                                                                   |                                                  
  | 19 | [identifier]                                 | Identifier                                                | text, Identifier                                                       |
  | 20 | [identifier_2]                               | Identifier                                                | text, Identifier                                                       |
  | 21 | [edit_field]                                 | Edit Field                                                | text                                                                   |
  | 22 | [descriptive_text]                           | Section Header: Section Break Descriptive Text            | descriptive                                                            |
  | 23 | [data_types_complete]                        | Section Header: Form Status Complete?                     | dropdown                                                               | 
  | 23 | [data_types_complete]                        | Section Header: Form Status Complete?                     | 0 Incomplete                                                           | 
  | 23 | [data_types_complete]                        | Section Header: Form Status Complete?                     | 1 Unverified                                                           | 
  | 23 | [data_types_complete]                        | Section Header: Form Status Complete?                     | 2 Complete                                                             |   

#VERIFY_RSD: Verify Data
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in a table:
  | Record ID |
  | 1         |
  | 2         |      


#VERIFY: Data for Record 1
Then I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
And I should see "Tony Stone" in the data entry form field "Name" 
And I should see "tonystone@example.com" in the data entry form field "Email" 
And I should see the dropdown field labeled "Complete" with the option "Complete" selected
Then I click on the link labeled "Data Types" 
And I should see "Lily Brown" in the data entry form field "Name" 
And I should see "She is a teacher" in the data entry form field "Text Box"
And I should see "6" in the data entry form field "Calculated Field"
And I should see the dropdown field labeled "Multiple Choice Dropdown Manual" with the option "DDChoice5" selected
And I should see the radio labeled "Radio Button Manual" with option "Choice99" selected
And I should see a link labeled "7_image_v913.jpg"
And I should see "1" in the data entry form field "Required"
And I should see "7" in the data entry form field "Identifier"
And I should see the dropdown field labeled "Complete" with the option "Incomplete" selected

#VERIFY: Data for Record 2
Then I click on the link labeled "Record Status Dashboard"
Then I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2" and click on the bubble
And I should see "Daniel Smith" in the data entry form field "Name" 
And I should see "dannysmith@example.com" in the data entry form field "Email" 
And I should see the dropdown field labeled "Complete" with the option "Complete" selected
Then I click on the link labeled "Data Types"
And I should see "Fred Gatefield" in the data entry form field "Name" 
And I should see "He is a doctor" in the data entry form field "Text Box"
And I should see "6" in the data entry form field "Calculated Field"  
And I should see the dropdown field labeled "Multiple Choice Dropdown Manual" with the option "DDChoice6" selected
And I should see the radio labeled "Radio Button Manual" with option "Choice101" selected
And I should see a checkbox labeled "Checkbox" that is checked
And I should see a link labeled "7_image_v913.jpg"
And I should see "2" in the data entry form field "Required"
And I should see "9" in the data entry form field "Identifier"
And I should see the dropdown field labeled "Complete" with the option "Incomplete" selected
And I logout

Comments:

Comment:

Author: MintooXavier Updated on: 6/14/2024 8:43:14 AM

Comment body:

Change the steps definitions using the link: https://aldefouw.github.io/redcap_cypress/

@TanDBPRO Pre review completed

Comment:

Author: TanDBPRO Updated on: 7/16/2024 3:21:04 PM

Comment body:

I have changed the step definitions as requested using https://aldefouw.github.io/redcap_cypress/

Comment:

Author: TanDBPRO Updated on: 7/17/2024 11:03:55 AM

Comment body:

@MintooXavier Please review when you have time

Comment:

Author: MintooXavier Updated on: 7/31/2024 8:28:19 AM

Comment body:

@TanDBPRO : Please add steps to verify the downloaded metadata contains all the instruments, fields, Data Qulaity Rules, events, arms etc. You will have to prove the metadata conatins everything to reconstruct the entire project.

Create a project with the downloaded metadata and check if all the events, arms, instruments, fields, DQ etc are present in the newly created project.

Comment edits:

Created: 7/31/2024 8:28:19 AM Edited on: 7/31/2024 8:28:19 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@TanDBPRO : Please add steps to verify the downloaded metadata contains all the instruments, fields, Data Qulaity Rules, events, arms etc. You will have to prove the metadata conatins everything to reconstruct the entire project.

Create a project with the downloaded metadata and check if all the events, arms, instruments, fields, DQ etc are present in the newly created project.

Created: 7/31/2024 8:28:19 AM Edited on: 7/18/2024 1:48:07 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@TanDBPRO : Please add steps to verify the downloaded metadata contains all the instruments, fields, Data Qulaity Rules, events, arms etc. You will have to prove the metadata conatins everything to reconstruct the entire project.

Comment:

Author: MintooXavier Updated on: 7/31/2024 8:26:56 AM

Comment body:

If you can split you script into smaller scripts based on User requirements, please do so. Ideally we don’t want scripts exceeding 200 lines (But in some cases it might). Smaller scripts are easier to maintain and test. e.g.
https://github.com/CCTC-team/redcap_rsvc/tree/redcap_val/Feature%20Tests/A/Assign%20Administrators

  1. Downloaded metadata in one script
  2. Downloaded metadata and data in another script

Comment:

Author: TanDBPRO Updated on: 7/31/2024 9:49:58 AM

Comment body:

I have split the scripts into two as below.

Downloaded metadata in one script
Downloaded metadata and data in another script

@MintooXavier - Please review when you have a chance.

Comment:

Author: MintooXavier Updated on: 8/6/2024 10:17:10 AM

Comment body:

D.119.100_downloading_metadata:

  1. Write steps to create project Project_redcap_val_Test as cypress starts from a blank state at the start of a script.
  2. And I create a new project named “D.110.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_redcap_val_Test_2024-05-31”, and clicking the “Create Project” button

@TanDBPRO : Pre-review completed for D.119.100_downloading_metadatand verify fields in both instrument.

Comment edits:

Created: 8/6/2024 10:17:10 AM Edited on: 8/6/2024 10:17:10 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.119.100_downloading_metadata: 1. Write steps to create project Project_redcap_val_Test as cypress starts from a blank state at the start of a script. 2. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L28 - Project name is wrong - it’s D.119.100 3. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L34 - Verify you can see both the instruments a 4. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L38 - no field called identifier 5. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L46 - mappings are not visible. Please check lines from 46-50. Check if you are using the correct xml file. 6. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L56 - can be replaced by ‘I should see a table header and rows containing the following values in a table:’ 7. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L67 not visible 8. I’ll add a user role to project_redcap_val and could you please add steps to verify the role with permissions are visible in the second project

@TanDBPRO : Pre-review completed for D.119.100_downloading_metadatand verify fields in both instrument.

Created: 8/2/2024 12:57:04 PM Edited on: 8/2/2024 12:57:04 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.119.100_downloading_metadata: 1. Write steps to create project Project_redcap_val_Test as cypress starts from a blank state at the start of a script. 2. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L28 - Project name is wrong - it’s D.119.100 3. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L34 - Verify you can see both the instruments 4. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L38 - no field called identifier 5. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L46 - mappings are not visible. Please check lines from 46-50. Check if you are using the correct xml file. 6. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L56 - can be replaced by ‘I should see a table header and rows containing the following values in a table:’ 7. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L67 not visible 8. I’ll add a user role to project_redcap_val and could you please add steps to verify the role with permissions are visible in the second project

@TanDBPRO : Pre-review completed for D.119.100_downloading_metadata

Created: 8/2/2024 12:57:04 PM Edited on: 8/2/2024 12:50:19 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.119.100_downloading_metadata: 1. Write steps to create project Project_redcap_val_Test as cypress starts from a blank state at the start of a script. 2. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L28 - Project name is wrong - it’s D.119.100 3. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L34 - Verify you can see both the instruments 4. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L38 - no field called identifier 5. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L46 - mappings are not visible. Please check lines from 46-50. Check if you are using the correct xml file. 6. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.100_downloading_metadata.feature#L67 not visible 7. I’ll add a user role to project_redcap_val and could you please add steps to verify the role with permissions are visible in the second project

Comment:

Author: MintooXavier Updated on: 8/9/2024 10:59:26 AM

Comment body:

D.119.200_downloading_metadata_and_data:

  1. Same comments as above.
  2. And I click on the button labeled “Download metadata & data(XML)” in the dialog box
    • lines from 19-31 are not visible. It is when downloading from other export options tab. Please write the steps for downloading from other functionality tab.
    • Then I click on the bubble for the “Text Validation” data collection instrument for record ID “1”
      • Please verify there is only 1 record. verify all the instruments visible for the record - sample Gherkin ‘I should see the “Incomplete (no data saved)” icon for the “Survey” longitudinal instrument on event “Event Three” for record “1”’
      • And I should see “Tan” in the data entry form field “Name”
        • can’t see any data. Please write steps to enter data in the first project and then verify in 2nd. Verify data in only 1 instrument.
        • Create a folder called Downloading_Metadata_119 and put the scripts in it.

@TanDBPRO : Pre-review completed for D.119.200_downloading_metadata_and_data

Comment edits:

Created: 8/9/2024 10:59:26 AM Edited on: 8/9/2024 10:59:26 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.119.200_downloading_metadata_and_data:

  1. Same comments as above.
  2. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.200_downloading_metadata_and_data.feature#L19 - lines from 19-31 are not visible. It is when downloading from other export options tab. Please write the steps for downloading from other functionality tab.
  3. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.200_downloading_metadata_and_data.feature#L83 - Please verify there is only 1 record. verify all the instruments visible for the record - sample Gherkin ‘I should see the “Incomplete (no data saved)” icon for the “Survey” longitudinal instrument on event “Event Three” for record “1”’
  4. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.200_downloading_metadata_and_data.feature#L84 - can’t see any data. Please write steps to enter data in the first project and then verify in 2nd. Verify data in only 1 instrument.
  5. Create a folder called Downloading_Metadata_119 and put the scripts in it.

@TanDBPRO : Pre-review completed for D.119.200_downloading_metadata_and_data

Created: 8/9/2024 10:59:26 AM Edited on: 8/2/2024 1:11:20 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.119.200_downloading_metadata_and_data:

  1. Same comments as above.
  2. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.200_downloading_metadata_and_data.feature#L19 - lines from 19-31 are not visible. It is when downloading from other export options tab. Please write the steps for downloading from other functionality tab.
  3. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.200_downloading_metadata_and_data.feature#L83 - Please verify there is only 1 record. verify all the instruments visible for the record - sample Gherkin ‘I should see the “Incomplete (no data saved)” icon for the “Survey” longitudinal instrument on event “Event Three” for record “1”’
  4. https://github.com/CCTC-team/redcap_cypress/blob/45b170c23775e1be2bcd486cba7b7161ea4cfdbd/manual_scripts/D.119.200_downloading_metadata_and_data.feature#L84 - can’t see any data. Please write steps to enter data in the first project and then verify in 2nd. Verify data in only 1 instrument.

@TanDBPRO : Pre-review completed for D.119.200_downloading_metadata_and_data

Comment:

Author: TanDBPRO Updated on: 9/1/2024 11:10:25 PM

Comment body:

@MintooXavier - Please review when you can. I made the changes you have advised above for both scripts

Comment:

Author: MintooXavier Updated on: 9/6/2024 12:35:46 PM

Comment body:
  1. Delete all the comments.
    # Project D.119.100 consisting of Instrument Text Validation(Name, Email, Form status) and Data Types(Name, Text2, Textbox, Notes Box, Calculated Field, Checkbox,Multiple choice dropdown Auto, Radio Button Manual, File Upload (file_upload), Form status) as instruments shown in the Online Designer
  2. Keep this small.. Maybe just keep it as Downloading Metadata only(XML).
    Scenario: 1 D.119.100 - Downloading Metadata only(XML) consisting Text Validation(Record ID,Name, Email, Form status) and Data Types(Name, Text2, Textbox, Notes Box, Calculated Field, Multiple choice dropdown Auto, Multiple choice dropdown Manual, Radio Button Manual, Checkbox, Signature (add signature), File Upload (file_upload), Section break, Descriptive Text with File,Identifier,Identifier, Edit Field, Section break, Descriptive Text, Form Status) as instruments shown in Online Designer. User roles, Data Access Group and Data Quality to be included in XML.
  3. This is not correct. You have to create a project using Project_redcap_val. Then download metadata and then create a project using that downloaded metadata. In the new project, you have to verify everything.. Please correct this in both the files

Comment edits:

Created: 9/6/2024 12:35:46 PM Edited on: 9/6/2024 12:35:46 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Delete all the comments. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Downloading%20Metadata_119/D.119.100%20-%20Downloading%20metadata.feature#L7
  2. Keep this small.. Maybe just keep it as Downloading Metadata only(XML). https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Downloading%20Metadata_119/D.119.100%20-%20Downloading%20metadata.feature#L13
  3. This is not correct. You have to create a project using Project_redcap_val. Then download metadata and then create a project using that downloaded metadata. In the new project, you have to verify everything.. Please correct this in both the files

Created: 9/6/2024 12:35:46 PM Edited on: 9/6/2024 12:32:39 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Delete all the comments. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Downloading%20Metadata_119/D.119.100%20-%20Downloading%20metadata.feature#L7
  2. Keep this small.. Maybe just keep it as Downloading Metadata only(XML). https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Downloading%20Metadata_119/D.119.100%20-%20Downloading%20metadata.feature#L13
  3. This is not correct. You have to create a project usinf Project_redcap_val. Then download metadata and then create a project using that downloaded metadata. In the new project, you have to verify everything.. Please correct this in both the files

Comment:

Author: MintooXavier Updated on: 11/6/2024 9:28:19 AM

Comment body:

@tan: I have changed Project_redcap_val.xml. The user role ‘TestRole’ has ‘Project Design and Set up’ access rights. Please change the Gherkin accordingly. The new xml is available at: https://github.com/CCTC-team/redcap_cypress/tree/redcap_val/cypress/fixtures/cdisc_files/redcap_val

Comment:

Author: TanDBPRO Updated on: 11/6/2024 1:03:44 PM

Comment body:

@MintooXavier: Thanks, I will use the new xml for this script.

Comment:

Author: MintooXavier Updated on: 11/8/2024 9:18:50 AM

Comment body:

@TanDBPRO : Please could you also add checks to:

  1. verify project settings in project setup page
  2. verify codebook so that all the data type and field notes are also checked. the code for this is available in the Codebook feature.. You can delete the steps to check instrument and fields as we will be verifying these in codebook.

Let me know if you need any clarifications on these

Comment edits:

Created: 11/8/2024 9:18:50 AM Edited on: 11/8/2024 9:18:50 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@TanDBPRO : Please could you also add checks to:

  1. verify project settings in project setup page
  2. verify codebook so that all the data type and field notes are also checked. the code for this is available in the Codebook feature.. You can delete the steps to check instrument and fields as we will be verifying these in codebook.

Let me know if you need any clarifications on these

Created: 11/8/2024 9:18:50 AM Edited on: 11/8/2024 9:18:06 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@TanDBPRO : Please could you also add checks to:

  1. verify project settings in project setup page
  2. verify codebook so that all the data type and field notes are also checked. the code for this is available in the Codebook feature.. You can delete the steps to check instrument and fields as we will be verifying these in codebook

Comment:

Author: TanDBPRO Updated on: 11/15/2024 12:39:42 PM

Comment body:

Hi Mintoo, I have made the necessary changes as listed below. Please review when you have a chance.

  1. verify project settings in project setup page
  2. verify codebook so that all the data type and field notes are also checked. the code for this is available in the Codebook feature.. You can delete the steps to check instrument and fields as we will be verifying these in codebook.

I found an issue where I could not find the Gherkin language for Enable optional modules and customizations section for option ‘Twilio SMS and Voice Call services for surveys and alerts’. The rest of the options I was able to find.

81 #VERIFY: Enable optional modules and customizations options on Project Setup page.

I also used a data import file (D.119.100_Data_Import.csv.csv) which located in my branch below:

https://github.com/CCTC-team/redcap_cypress/blob/TA_v13.8.1/cypress/fixtures/redcap_val_fixtures/import_files/D.119.100_Data_Import.csv.csv

Comment:

Author: MintooXavier Updated on: 12/9/2024 2:07:11 PM

Comment body:

Modified and automated the script.
New step definition to create a project using latest downloaded xml file.

Scripts Automated:

Comment edits:

Created: 12/9/2024 2:07:11 PM Edited on: 12/9/2024 2:07:11 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Modified and automated the script. New step definition to create a project using latest downloaded xml file.

Scripts Automated: - D.119.100 - D.119.200

Created: 12/9/2024 2:03:27 PM Edited on: 12/9/2024 2:03:27 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Automated: - D.119.100 - D.119.200

Created: 12/9/2024 2:03:27 PM Edited on: 12/9/2024 12:22:46 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Automated: - D.119.100


Timeline events:

LABELLED | User: MintooXavier Created on: 6/5/2024 2:49:07 PM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/5/2024 2:49:07 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 6/5/2024 2:49:07 PM Label name: Manual Label description:

RENAMED TITLE | User: MintooXavier Created on: 6/5/2024 2:51:26 PM Previous title: 21 Downloading Metadata Current title: 21. Downloading Metadata

ASSIGNED | User: MintooXavier Created on: 6/6/2024 8:41:17 AM Assignee: TanDBPRO

ISSUE COMMENT | User: MintooXavier Created on: 6/14/2024 8:43:14 AM Issue comment body:

Change the steps definitions using the link: https://aldefouw.github.io/redcap_cypress/

@TanDBPRO Pre review completed

MENTIONED | User: TanDBPRO Created on: 6/14/2024 8:43:16 AM

SUBSCRIBED | User: TanDBPRO Created on: 6/14/2024 8:43:16 AM

ISSUE COMMENT | User: TanDBPRO Created on: 7/16/2024 3:21:04 PM Issue comment body:

I have changed the step definitions as requested using https://aldefouw.github.io/redcap_cypress/

LABELLED | User: TanDBPRO Created on: 7/17/2024 10:25:41 AM Label name: Automated Label description:

ISSUE COMMENT | User: TanDBPRO Created on: 7/17/2024 11:03:55 AM Issue comment body:

@MintooXavier Please review when you have time

MENTIONED | User: MintooXavier Created on: 7/17/2024 11:03:57 AM

SUBSCRIBED | User: MintooXavier Created on: 7/17/2024 11:03:57 AM

UNLABELLED | User: TanDBPRO Created on: 7/17/2024 11:06:50 AM Label name: Manual Label description:

ISSUE COMMENT | User: MintooXavier Created on: 7/18/2024 1:48:07 PM Issue comment body:

@TanDBPRO : Please add steps to verify the downloaded metadata contains all the instruments, fields, Data Qulaity Rules, events, arms etc. You will have to prove the metadata conatins everything to reconstruct the entire project.

Create a project with the downloaded metadata and check if all the events, arms, instruments, fields, DQ etc are present in the newly created project.

MENTIONED | User: TanDBPRO Created on: 7/18/2024 1:48:08 PM

SUBSCRIBED | User: TanDBPRO Created on: 7/18/2024 1:48:08 PM

UNLABELLED | User: MintooXavier Created on: 7/29/2024 2:36:43 PM Label name: Automated Label description:

LABELLED | User: MintooXavier Created on: 7/30/2024 2:43:31 PM Label name: Manual Label description:

ISSUE COMMENT | User: MintooXavier Created on: 7/31/2024 8:26:56 AM Issue comment body:

If you can split you script into smaller scripts based on User requirements, please do so. Ideally we don’t want scripts exceeding 200 lines (But in some cases it might). Smaller scripts are easier to maintain and test. e.g.
https://github.com/CCTC-team/redcap_rsvc/tree/redcap_val/Feature%20Tests/A/Assign%20Administrators

  1. Downloaded metadata in one script
  2. Downloaded metadata and data in another script
ISSUE COMMENT | User: TanDBPRO Created on: 7/31/2024 9:49:58 AM Issue comment body:

I have split the scripts into two as below.

Downloaded metadata in one script
Downloaded metadata and data in another script

@MintooXavier - Please review when you have a chance.

MENTIONED | User: MintooXavier Created on: 7/31/2024 9:50:00 AM

SUBSCRIBED | User: MintooXavier Created on: 7/31/2024 9:50:00 AM

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:49:35 PM Previous title: 21. Downloading Metadata Current title: 119. Downloading Metadata

ISSUE COMMENT | User: MintooXavier Created on: 8/2/2024 12:50:19 PM Issue comment body:

D.119.100_downloading_metadata:

  1. Write steps to create project Project_redcap_val_Test as cypress starts from a blank state at the start of a script.
  2. And I create a new project named “D.110.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_redcap_val_Test_2024-05-31”, and clicking the “Create Project” button

@TanDBPRO : Pre-review completed for D.119.100_downloading_metadatand verify fields in both instrument.

MENTIONED | User: TanDBPRO Created on: 8/2/2024 12:57:04 PM

SUBSCRIBED | User: TanDBPRO Created on: 8/2/2024 12:57:04 PM

ISSUE COMMENT | User: MintooXavier Created on: 8/2/2024 1:11:20 PM Issue comment body:

D.119.200_downloading_metadata_and_data:

  1. Same comments as above.
  2. And I click on the button labeled “Download metadata & data(XML)” in the dialog box
    • lines from 19-31 are not visible. It is when downloading from other export options tab. Please write the steps for downloading from other functionality tab.
    • Then I click on the bubble for the “Text Validation” data collection instrument for record ID “1”
      • Please verify there is only 1 record. verify all the instruments visible for the record - sample Gherkin ‘I should see the “Incomplete (no data saved)” icon for the “Survey” longitudinal instrument on event “Event Three” for record “1”’
      • And I should see “Tan” in the data entry form field “Name”
        • can’t see any data. Please write steps to enter data in the first project and then verify in 2nd. Verify data in only 1 instrument.
        • Create a folder called Downloading_Metadata_119 and put the scripts in it.

@TanDBPRO : Pre-review completed for D.119.200_downloading_metadata_and_data

MENTIONED | User: TanDBPRO Created on: 8/2/2024 1:11:21 PM

SUBSCRIBED | User: TanDBPRO Created on: 8/2/2024 1:11:21 PM

ISSUE COMMENT | User: TanDBPRO Created on: 9/1/2024 11:10:25 PM Issue comment body:

@MintooXavier - Please review when you can. I made the changes you have advised above for both scripts

MENTIONED | User: MintooXavier Created on: 9/1/2024 11:10:26 PM

SUBSCRIBED | User: MintooXavier Created on: 9/1/2024 11:10:26 PM

ISSUE COMMENT | User: MintooXavier Created on: 9/6/2024 12:32:39 PM Issue comment body:
  1. Delete all the comments.
    # Project D.119.100 consisting of Instrument Text Validation(Name, Email, Form status) and Data Types(Name, Text2, Textbox, Notes Box, Calculated Field, Checkbox,Multiple choice dropdown Auto, Radio Button Manual, File Upload (file_upload), Form status) as instruments shown in the Online Designer
  2. Keep this small.. Maybe just keep it as Downloading Metadata only(XML).
    Scenario: 1 D.119.100 - Downloading Metadata only(XML) consisting Text Validation(Record ID,Name, Email, Form status) and Data Types(Name, Text2, Textbox, Notes Box, Calculated Field, Multiple choice dropdown Auto, Multiple choice dropdown Manual, Radio Button Manual, Checkbox, Signature (add signature), File Upload (file_upload), Section break, Descriptive Text with File,Identifier,Identifier, Edit Field, Section break, Descriptive Text, Form Status) as instruments shown in Online Designer. User roles, Data Access Group and Data Quality to be included in XML.
  3. This is not correct. You have to create a project using Project_redcap_val. Then download metadata and then create a project using that downloaded metadata. In the new project, you have to verify everything.. Please correct this in both the files
ISSUE COMMENT | User: MintooXavier Created on: 11/6/2024 9:28:19 AM Issue comment body:

@tan: I have changed Project_redcap_val.xml. The user role ‘TestRole’ has ‘Project Design and Set up’ access rights. Please change the Gherkin accordingly. The new xml is available at: https://github.com/CCTC-team/redcap_cypress/tree/redcap_val/cypress/fixtures/cdisc_files/redcap_val

MENTIONED | User: tan Created on: 11/6/2024 9:28:21 AM

SUBSCRIBED | User: tan Created on: 11/6/2024 9:28:21 AM

ISSUE COMMENT | User: TanDBPRO Created on: 11/6/2024 1:03:44 PM Issue comment body:

@MintooXavier: Thanks, I will use the new xml for this script.

MENTIONED | User: MintooXavier Created on: 11/6/2024 1:03:46 PM

SUBSCRIBED | User: MintooXavier Created on: 11/6/2024 1:03:46 PM

ISSUE COMMENT | User: MintooXavier Created on: 11/8/2024 9:18:06 AM Issue comment body:

@TanDBPRO : Please could you also add checks to:

  1. verify project settings in project setup page
  2. verify codebook so that all the data type and field notes are also checked. the code for this is available in the Codebook feature.. You can delete the steps to check instrument and fields as we will be verifying these in codebook.

Let me know if you need any clarifications on these

MENTIONED | User: TanDBPRO Created on: 11/8/2024 9:18:07 AM

SUBSCRIBED | User: TanDBPRO Created on: 11/8/2024 9:18:07 AM

ISSUE COMMENT | User: TanDBPRO Created on: 11/15/2024 12:39:42 PM Issue comment body:

Hi Mintoo, I have made the necessary changes as listed below. Please review when you have a chance.

  1. verify project settings in project setup page
  2. verify codebook so that all the data type and field notes are also checked. the code for this is available in the Codebook feature.. You can delete the steps to check instrument and fields as we will be verifying these in codebook.

I found an issue where I could not find the Gherkin language for Enable optional modules and customizations section for option ‘Twilio SMS and Voice Call services for surveys and alerts’. The rest of the options I was able to find.

81 #VERIFY: Enable optional modules and customizations options on Project Setup page.

I also used a data import file (D.119.100_Data_Import.csv.csv) which located in my branch below:

https://github.com/CCTC-team/redcap_cypress/blob/TA_v13.8.1/cypress/fixtures/redcap_val_fixtures/import_files/D.119.100_Data_Import.csv.csv

ASSIGNED | User: MintooXavier Created on: 12/6/2024 2:12:17 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 12/9/2024 12:22:46 PM Issue comment body:

Modified and automated the script.
New step definition to create a project using latest downloaded xml file.

Scripts Automated:

UNLABELLED | User: MintooXavier Created on: 12/9/2024 2:06:15 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 12/9/2024 2:06:15 PM Label name: Automated Label description:


————— feature ends —————



Feature: 114. Scheduling Module and Calendar

Id: I_kwDOIaOBn86LWXRV Uid: redcap_cypress-53
Author: MintooXavier Created: 6/6/2024 10:19:31 AM
Assignees: MintooXavier || LawrenceFayers Resource path: /CCTC-team/redcap_cypress/issues/53
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:05:44 PM
Locked: false Participants: MintooXavier || LawrenceFayers || TanDBPRO

Project item body:

Brief description:
The Schedule Generator will allow you to generate a new schedule based upon your Events and their Days Offset that have been defined on the Define My Events page. You may generate a schedule for a new or existing Patient trial ID. Once scheduled, you may then view it on the Calendar.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/114_scheduling_module_and_calendar.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Scheduling%20Module%20and%20Calendar_114/D.114.100%20-%20Scheduling%20Module%20and%20Calendar.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/114_scheduling_module_and_calendar.spec

D.114.100 - The system shall support the ability to schedule events
D.114.200 - The system shall support the ability to re-schedule events
D.114.300 - The system shall support the ability to view the schedule in calendar
D.114.400 - The system shall support the ability to add new calendar events
D.114.500 - The system shall support the ability to delete calendar events
D.114.600 - The system shall support the ability to sync calendar to external application

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Scheduling%20Module%20and%20Calendar_114/D.114.100%20-%20Scheduling%20Module%20and%20Calendar.feature

Feature: D.114.100 Scheduling Module and Calendar Scheduling

As a REDCap end user I want to see that Calendar and Scheduling Module works as expected

Scenario: The system shall support the ability to schedule events Given I login to REDCap with the user “Test_User1” When I create a new project named “D.114.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/D114100.xml”, and clicking the “Create Project” button # Then I should see a button labeled “Disable” in the “Scheduling module (longitudinal only)” row in the “Enable optional modules and customizations” section And I click on the button labeled “Define My Events” Then I should see “Event 1” in the define events table

Then I click on the Edit image for the event named "Event 2"
And I enter "1" into the Min Offset Range for the event named "Event 2" in the Event table
And I enter "2" into the Max Offset Range for the event named "Event 2" in the Event table
And I click on the button labeled "Save"
Then I should see "Event 2" in the define events table

Then I click on the Edit image for the event named "Event Three"
And I enter "1" into the Min Offset Range for the event named "Event Three" in the Event table
And I enter "2" into the Max Offset Range for the event named "Event Three" in the Event table
And I enter "[complete_study_date]" into the Custom Event Label for the event named "Event Three" in the Event table
And I click on the button labeled "Save"

Then I should see a table header and rows containing the following values in the define events table:
  | Event # | Days Offset | Offset Range | Event Label | Custom Event Label    | Unique event name (auto generated) [event-name] |
  | 1       | 1           | -0/+0        | Event 1     |                       | event_1_arm_1                                   |
  | 2       | 2           | -1/+2        | Event 2     |                       | event_2_arm_1                                   |
  | 3       | 3           | -1/+2        | Event Three | [complete_study_date] | event_three_arm_1                               |

# Upload Instrument-Event mappings
Given I click on the tab labeled "Designate Instruments for My Events"
When I click on the button labeled "Upload or download instrument mappings"
And I click on the link labeled "Upload instrument-event mappings (CSV)"
And I upload a "csv" format file located at "import_files/redcap_val/D114100_InstrumentDesignations.csv", by clicking the button near "Select your CSV File of Instrument-Event Designations" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see a dialog containing the following text: "Upload instrument-event mappings (CSV)"
And I click on the button labeled "Upload" in the dialog box
Then I should see a dialog containing the following text: "SUCCESS!"
And I click on the button labeled "Close" in the dialog box
Then I verify the Data Collection Instrument named "Text Validation" is enabled for the Event named "Event 1"
And I verify the Data Collection Instrument named "Data Types" is enabled for the Event named "Event 1"
And I verify the Data Collection Instrument named "Data Types" is enabled for the Event named "Event 2"
And I verify the Data Collection Instrument named "Text Validation" is enabled for the Event named "Event Three"

# Download Instrument-Event mappings
When I click on the button labeled "Upload or download instrument mappings"
And I click on the link labeled "Download instrument-event mappings (CSV)"
Then I should see the latest downloaded "csv" file containing the headings and rows below
    | arm_num | unique_event_name | form            |
    | 1       | event_1_arm_1     | text_validation |
    | 1       | event_1_arm_1     | data_types      |
    | 1       | event_2_arm_1     | data_types      |
    | 1       | event_three_arm_1 | text_validation |           
        
Given I click on the link labeled "Scheduling"
And I clear field and enter "11/20/2023" into the input field labeled "Start Date:"
And I click on the link labeled exactly "20"
And I click on the button labeled "Generate Schedule"
Then I should see 'Projected Schedule for "1"'
When I click on the button labeled "Create Schedule"
Then I should see 'Successfully Scheduled "1"'
And I should see a table header and rows containing the following values in a table:
  | Time | Date                 | Event Name  |
  |      | 11/21/2023 Tuesday   | Event 1     |
  |      | 11/22/2023 Wednesday | Event 2     |
  |      | 11/23/2023 Thursday  | Event Three |

And I click on the tab "View or Edit Schedule"
And I select "1" on the dropdown field labeled "Select a previously scheduled Record ID:"
Then I should see 'View/Edit Existing Schedule'
And I should see a table header and rows containing the following values in a table:
  | Time | Date / Day of Week                                  | Event Name  | Status   | Notes |
  |      | 11/21/2023 Tuesday                                  | Event 1     | Due Date |       |
  |      | 11/22/2023 Wednesday Range: 11/21/2023 - 11/24/2023 | Event 2     | Due Date |       |
  |      | 11/23/2023 Thursday Range: 11/22/2023 - 11/25/2023  | Event Three | Due Date |       |

# # D.114.200 - Edit calendar event in the Schedule Events - adjust ALL dates
When I click on the Edit icon for the event named "Event 2" in the Schedule Events
And I enter "10:00" into the Time for the event named "Event 2" in the Schedule table
And I click on the button labeled "Done"
Then I enter "11/23/2023" into the Date for the event named "Event 2" in the Schedule table
And I click on the link labeled exactly "23"
Then I enter "Notes Event 2" into the Notes for the event named "Event 2" in the Schedule table
And I click on the button labeled "Save"
When I click on the button labeled "YES, adjust ALL dates" in the dialog box
Then I should see a table header and rows containing the following values in a table:
  | Time     | Date / Day of Week                                  | Event Name  | Status   | Notes         |
  |          | 11/21/2023 Tuesday                                  | Event 1     | Due Date |               |
  | 10:00 am | 11/23/2023 Thursday Range: 11/21/2023 - 11/24/2023  | Event 2     | Due Date | Notes Event 2 |
  |          | 11/24/2023 Friday Range: 11/22/2023 - 11/25/2023    | Event Three | Due Date |               |

# # D.114.200 - Edit calendar event in the Schedule Events - adjust just this one
When I click on the Edit icon for the event named "Event 2" in the Schedule Events
Then I enter "11/22/2023" into the Date for the event named "Event 2" in the Schedule table
And I click on the link labeled exactly "22"
And I click on the button labeled "Save"
When I click on the button labeled "NO, just this one" in the dialog box
Then I should see a table header and rows containing the following values in a table:
  | Time     | Date / Day of Week                                   | Event Name  | Status   | Notes         |
  |          | 11/21/2023 Tuesday                                   | Event 1     | Due Date |               |
  | 10:00 am | 11/22/2023 Wednesday Range: 11/21/2023 - 11/24/2023  | Event 2     | Due Date | Notes Event 2 |
  |          | 11/24/2023 Friday Range: 11/22/2023 - 11/25/2023     | Event Three | Due Date |               |

# D.114.400 - Add Ad Hoc calendar event in the Schedule Events
When I clear field and enter "11/27/2023" into the input field labeled "Add new Ad Hoc calendar event on"
And I click on the link labeled exactly "27"
And I click on the button labeled "Add" to add an Ad Hoc Event
And I enter "09:00" into the input field labeled "Time"
And I click on the button labeled "Done"
And I enter "Ad Hoc Notes" into the textarea field labeled "Notes"
And I click on the button labeled "Add Calendar Event"
Then I should see "Your new calendar event was created and added to the calendar!"
And I return to the REDCap page I opened the calendar event from
Then I should see a table header and rows containing the following values in a table:
  | Time     | Date / Day of Week                                   | Event Name  | Status   | Notes         |
  |          | 11/21/2023 Tuesday                                   | Event 1     | Due Date |               |
  | 10:00 am | 11/22/2023 Wednesday Range: 11/21/2023 - 11/24/2023  | Event 2     | Due Date | Notes Event 2 |
  |          | 11/24/2023 Friday Range: 11/22/2023 - 11/25/2023     | Event Three | Due Date |               |
  |  9:00 am | 11/27/2023 Monday                                    | Ad Hoc      |          | Ad Hoc Notes  |

# D.114.500 - Delete calendar event in the Schedule Events
And I click on the Delete icon for the event named "Event Three" in the Schedule Events
Then I should see "The calendar event has been deleted" in the dialog box
And I click on the button labeled "Close" in the dialog box
Then I should NOT see "Event Three"

Given I click on the View icon for the event named "Event 2" in the Schedule Events
Then I should see "View/Edit Calendar Event"
And I should see "Notes Event 2"
When I click on the link labeled "change status"
And I select "Confirmed" on the dropdown field labeled "Status"
And I click on the button labeled "Save Status"
Then I should see "Confirmed"

# D.114.200 - re-schedule event
Given I click on the link labeled "View Schedule" in the View Calendar Event
And I click on the View icon for the event named "Ad Hoc" in the Schedule Events
When I click on the link labeled "change date"
And I clear field and enter "11/28/2023" into the input field labeled "Date"
And I click on the button labeled "Save Date"
When I click on the link labeled "View Schedule" in the View Calendar Event
Then I should see 'View/Edit Existing Schedule'
Then I should see a table header and rows containing the following values in a table:
  | Time     | Date / Day of Week                                   | Event Name  | Status    | Notes         |
  |          | 11/21/2023 Tuesday                                   | Event 1     | Due Date  |               |
  | 10:00 am | 11/22/2023 Wednesday Range: 11/21/2023 - 11/24/2023  | Event 2     | Confirmed | Notes Event 2 |
  |  9:00 am | 11/28/2023 Tuesday                                   | Ad Hoc      |           | Ad Hoc Notes  |

Given I click on the View icon for the event named "Event 2" in the Schedule Events
Then I should see "View/Edit Calendar Event"
And I should see "Notes Event 2"
When I click on the link labeled "Data Types" in the View Calendar Event
Then I should see "6" in the data entry form field "Calculated Field"
And I click on the button labeled "Cancel"

Given I click on the link labeled "Scheduling"
And I click on the tab "View or Edit Schedule"
And I select "1" on the dropdown field labeled "Select a previously scheduled Record ID:"
Then I should see 'View/Edit Existing Schedule'
When I click on the View icon for the event named "Event 2" in the Schedule Events
Then I should see "View/Edit Calendar Event"
And I should see "Notes Event 2"
When I click on the link labeled "View Record Home Page" in the View Calendar Event
Then I should see "Record Home Page"

# D.114.300 - View schedule in calendar
Given I click on the link labeled "Calendar"
When I click on the tab labeled "Day"
Then I should see "No calendar events to display"
And I select "November" on the Month dropdown field
When I select "2023" on the Year dropdown field
And I select "22" on the Day dropdown field
Then I should see a table header and rows containing the following values in a table:
  | Day         | Time    | Description                  |                                     
  | Wed Nov 22  | 10:00am | 1 (Event 2) - Notes Event 2  |

When I click on the tab labeled "Week"
Then I should see a table header and rows containing the following values in a table:
  | Sunday | Monday | Tuesday        | Wednesday                               | Thursday | Friday | Saturday |                                    
  | 19     | 20     |   21 1 (Event 1) | 22 10:00am 1 (Event 2) -  Notes Event 2 | 23       | 24     | 25       | 

When I click on the tab labeled "Month"
Then I should see a table header and rows containing the following values in a table:
  | Sunday | Monday | Tuesday                     | Wednesday                               | Thursday | Friday | Saturday |                                    
  | 19     | 20     |   21 1 (Event 1)              | 22 10:00am 1 (Event 2) -  Notes Event 2 | 23       | 24     | 25       | 
  | 26     | 27     |   28 9:00am 1 -  Ad Hoc Notes | 29                                      | 30       |        |          | 

When I click on the tab labeled "Agenda"
Then I should see a table header and rows containing the following values in a table:
  | Day         | Time    | Description                  |                                     
  | Tue Nov 21  |         | 1 (Event 1)                  |
  | Wed Nov 22  | 10:00am | 1 (Event 2) -  Notes Event 2 |
  | Tue Nov 28  | 9:00am  | 1 -  Ad Hoc Notes            |

# D.114.500 - Delete calendar event 
Given I click on the link labeled "Scheduling"
And I click on the tab "View or Edit Schedule"
And I select "1" on the dropdown field labeled "Select a previously scheduled Record ID:"
Then I should see 'View/Edit Existing Schedule'
When I click on the View icon for the event named "Ad Hoc" in the Schedule Events
When I should see "View/Edit Calendar Event"
And I click on the button labeled "Delete from Calendar"
Then I should see "Your calendar event was successfully deleted!"

Given I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "D.114.100"
Given I click on the link labeled "Calendar"
When I click on the tab labeled "Agenda"
And I select "November" on the Month dropdown field
And I select "2023" on the Year dropdown field
Then I should see a table header and rows containing the following values in a table:
  | Day        | Time    | Description                  |                                     
  | Tue Nov 21 |         | 1 (Event 1)                  |
  | Wed Nov 22 | 10:00am | 1 (Event 2) -  Notes Event 2 |

And I should NOT see "1 -  Ad Hoc Notes"

# D.114.600 - Verify file download to sync to calendar
When I click on the button labeled "Sync Calendar to External Application"
And I click on the button labeled "Download ICS file"
Then I should see a downloaded file named "D114100_CalendarEvents_yyyy_mm_dd_hhmm.ics"
And I should have the latest downloaded "ics" file with SHA256 hash value "954ad64d484e31dc1e18a2fdd799539e861049305e594447fcc560f6b0146edb"
And I click on the button labeled "Close" in the dialog box
And I logout

Comments:

Comment:

Author: MintooXavier Updated on: 1/13/2025 12:38:16 PM

Comment body:

Scripts modified and auotmated.

Deleted unwanted scripts and combined all the steps into 1 script

Comment edits:

Created: 1/13/2025 12:38:16 PM Edited on: 1/13/2025 12:38:16 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts modified and auotmated.

Deleted unwanted scripts and combined all the steps into 1 script

Created: 1/13/2025 12:38:16 PM Edited on: 1/13/2025 12:37:16 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts modified and auotmated.


Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 10:19:31 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 10:19:31 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 10:19:31 AM Assignee: TanDBPRO

RENAMED TITLE | User: MintooXavier Created on: 6/6/2024 10:20:16 AM Previous title: Scheduling Module and Calendar Current title: 15. Scheduling Module and Calendar

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:47:50 PM Previous title: 15. Scheduling Module and Calendar Current title: 114. Scheduling Module and Calendar

ASSIGNED | User: MintooXavier Created on: 9/30/2024 2:35:41 PM Assignee: LawrenceFayers

UNASSIGNED | User: MintooXavier Created on: 9/30/2024 2:35:41 PM Assignee: TanDBPRO

UNASSIGNED | User: MintooXavier Created on: 9/30/2024 3:03:13 PM Assignee: LawrenceFayers

ASSIGNED | User: LawrenceFayers Created on: 9/30/2024 3:51:47 PM Assignee: LawrenceFayers

ASSIGNED | User: MintooXavier Created on: 1/13/2025 12:36:37 PM Assignee: MintooXavier

UNLABELLED | User: MintooXavier Created on: 1/13/2025 12:36:47 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 1/13/2025 12:36:47 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 1/13/2025 12:36:47 PM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 1/13/2025 12:37:16 PM Issue comment body:

Scripts modified and auotmated.

Deleted unwanted scripts and combined all the steps into 1 script


————— feature ends —————



Feature: 104. Automated Survey Invitations

Id: I_kwDOIaOBn86LVqZQ Uid: redcap_cypress-42
Author: MintooXavier Created: 6/6/2024 8:51:17 AM
Assignees: MintooXavier || LawrenceFayers Resource path: /CCTC-team/redcap_cypress/issues/42
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 4/24/2025 10:27:42 AM
Locked: false Participants: MintooXavier || LawrenceFayers

Project item body:

Brief description:
This feature is used to automate the surveys so that it can be send out at the specified date and time when a logic becomes true or another survey is completed.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/104_automated_survey_invitations.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.100%20-%20Send%20Survey%20When%20Logic%20is%20True.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.300%20-%20Send%20When%20Logic%20is%20True%20and%20Survey%20Complete.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.600%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.700%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/104_automated_survey_invitations.spec

D.104.100 - The system shall support the ability to send a survey when a logic becomes true.
D.104.200 - The system shall support the ability to send a survey when another survey is completed.
D.104.300 - The system shall support the ability to send a survey after a specified time when a logic becomes true and/or when another survey is completed.
D.104.400 - The system shall support the ability to send reminder surveys when the survey is not completed.
D.104.500 - The system shall support the ability to download automated survey invitations.
D.104.600 - The system shall support the ability to upload automated survey invitations.
D.104.700 - The system shall support the ability to re-evaluate automated survey invitations.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.100%20-%20Send%20Survey%20When%20Logic%20is%20True.feature

Feature: D.104.100 - The system shall support the ability to send a survey when a logic becomes true

As a REDCap end user I want to see that automated survey invitations work as expected

Scenario: D.104.100 - Send Survey When Logic is True Given I login to REDCap with the user “Test_User1” Then I create a new project named “D.104.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val_Survey.xml”, and clicking the “Create Project” button

# Enable surveys in the project and designate email field
Given I click on the link labeled "Project Setup"
Then I should see a button labeled "Enable" in the "Use surveys in this project?" row in the "Main project settings" section
And I click on the button labeled "Enable" in the "Use surveys in this project?" row in the "Main project settings" section
Then I should see "Saved!"
And I should see a button labeled "Disable" in the "Use surveys in this project?" row in the "Main project settings" section
When I click on the button labeled "Enable" in the "Designate an email field for communications (including survey invitations and alerts)" row in the "Enable optional modules and customizations" section
Then I select 'email "Email"' on the dropdown field labeled "Choose an email field to use for invitations to survey participants:"
And I click on the last button labeled "Save"
Then I should see "Field currently designated: email"

# Enable instrument as a survey
Given I click on the link labeled "Designer"
Then I should see "Data Collection Instruments"
And I click on the "Enable" button for the instrument row labeled "Survey"
And I click on the button labeled "Save Changes"
Then I should see the enabled survey icon link for the instrument row labeled "Survey"

When I click on the button labeled "Automated Invitations"
Then I should see "Automated Invitations"
And I click on the first button labeled "+Set up"
Then I should see "Define Conditions for Automated Survey Invitations (ASI)"
And I click on the radio labeled "Active"
And I enter "Testing Survey Event 1" into the input field labeled "Subject:"
And I check the checkbox labeled "When the following logic becomes true:"
And I click on "" in the textarea field labeled "When the following logic becomes true" in the dialog box
And I should see a dialog containing the following text: "Logic Editor"
And I clear field and enter "[fname]!='' and [email]!=''" in the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" 
And I check the checkbox labeled "Ensure logic is still true before sending invitation?"
And I click on the radio labeled "Send immediately"
And I check the checkbox labeled "Re-send invitation as a reminder if participant has not responded by a specified time?"
And I click on the radio labeled Send every for time lag
When I enter 0 days 0 hours and 1 minute for Enable reminders
And I select "Send up to 2 times" on the dropdown field labeled "Recurrence"
When I click on the button labeled exactly "Save"
Then I should see "Settings for automated invitations were successfully saved!"
And I click on the button labeled "Close" in the dialog box
Then I should see "Automated Invitations"

Given I click on the button labeled "+Set up"
Then I should see "Define Conditions for Automated Survey Invitations (ASI)"
And I click on the radio labeled "Active"
And I enter "Testing Survey Event 2" into the input field labeled "Subject:"
And I check the checkbox labeled "When the following survey is completed:"
And I select '"Survey" - Event 1' from the dropdown option for When the following survey is completed
And I click on the radio labeled "Send immediately"
When I click on the button labeled exactly "Save"
Then I should see "Settings for automated invitations were successfully saved!"
And I click on the button labeled "Close" in the dialog box
Then I should see "Automated Invitations"

Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported       |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Add settings for automated survey invitations |

Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record"
When I click the bubble to select a record for the "Demographics" longitudinal instrument on event "Event 1"
And I enter "George" into the data entry form field labeled "Last name"
And I enter "Joe" into the data entry form field labeled "First name"
And I enter "joe@abc.com" into the data entry form field labeled "Email"
Then I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument

Given I click on the link labeled "Survey Distribution Tools"
Then I should see "Participant List"
And I click on the tab labeled "Survey Invitation Log"
When I click on the button labeled "View past invitations"
Then I should see a table header and rows containing the following values in a table:
  | Invitation send time | Participant Email | Record | Survey         |
  |                      | joe@abc.com       | 1      | Survey Event 1 |

When I click on the button labeled "View future invitations"
Then I should see a table header and rows containing the following values in a table:
  | Invitation send time | Participant Email | Record | Survey         |
  | ( 1)                 | joe@abc.com       | 1      | Survey Event 1 |
  | ( 2)                 | joe@abc.com       | 1      | Survey Event 1 |

Then I wait for 65 seconds
And I click on the link labeled "Survey Distribution Tools"
Then I should see "Participant List"
And I click on the tab labeled "Survey Invitation Log"
When I click on the button labeled "View past invitations"
Then I should see a table header and rows containing the following values in a table:
  | Invitation send time | Participant Email | Record | Survey         |
  |                      | joe@abc.com       | 1      | Survey Event 1 |
  | ( 1)                 | joe@abc.com       | 1      | Survey Event 1 |

When I click on the button labeled "View future invitations"
Then I should see a table header and rows containing the following values in a table:
  | Invitation send time | Participant Email | Record | Survey         |
  | ( 2)                 | joe@abc.com       | 1      | Survey Event 1 |

Then I wait for 80 seconds
And I click on the link labeled "Survey Distribution Tools"
Then I should see "Participant List"
And I click on the tab labeled "Survey Invitation Log"
When I click on the button labeled "View past invitations"
Then I should see a table header and rows containing the following values in a table:
  | Invitation send time | Participant Email | Record | Survey         |
  |                      | joe@abc.com       | 1      | Survey Event 1 |
  | ( 1)                 | joe@abc.com       | 1      | Survey Event 1 |
  | ( 2)                 | joe@abc.com       | 1      | Survey Event 1 |

When I click on the button labeled "View future invitations"
Then I should see "No invitations to list"

Given I click on the link labeled "Designer"
And I click on the button labeled "Auto Invitation options"
When I click on the link labeled "Download all Automated Survey Invitations settings (CSV)"
Then the downloaded CSV with filename "asi_export_pid13.csv" has the header and rows below
  | form_name | event_name    | condition_surveycomplete_form_name | condition_surveycomplete_event_name | num_recurrence | units_recurrence | active | email_subject          | email_sender        | condition_andor | condition_logic             | condition_send_time_option | condition_send_time_lag_field_after | delivery_type | reminder_type   | reminder_timelag_days | reminder_timelag_hours | reminder_timelag_minutes | reminder_num | reeval_before_send |
  | survey    | event_1_arm_1 |                                    |                                     | 0              | DAYS             | 1      | Testing Survey Event 1 | test_user1@test.edu | AND             | [fname]!='' and [email]!='' | IMMEDIATELY                | after                               | EMAIL         | TIME_LAG        | 0                     | 0                      | 1                        | 2            | 1                  |
  | survey    | event_2_arm_1 | survey                             | event_1_arm_1                       | 0              | DAYS             | 1      | Testing Survey Event 2 | test_user1@test.edu | AND             |                             | IMMEDIATELY                | after                               | EMAIL         |                 |                       |                        |                          | 0            | 0                  |

Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported                          |
  | mm/dd/yyyy hh:mm | SYSTEM       | Manage/Design | Automatically schedule survey invitation                         |
  | mm/dd/yyyy hh:mm | SYSTEM       | Manage/Design | (Record: "1", Survey: "Survey", Event: "Event 1", Instance: "1") |

# ASI 2
Given I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event 1" for record ID "1" and click on the bubble
When I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
##VERIFY
Then I should see "Survey"
When I enter "1" into the data entry form field labeled "Reminder"
And I enter "description" into the data entry form field labeled "Description"
Then I click on the button labeled "Submit"
And I click on the button labeled "Close survey"

When I return to the REDCap page I opened the survey from
And I click on the link labeled "Survey Distribution Tools"
Then I should see "Participant List"
And I click on the tab labeled "Survey Invitation Log"
When I click on the button labeled "View past invitations"
Then I should see a table header and rows containing the following values in a table:
  | Invitation send time | Participant Email | Record | Survey         |
  |                      | joe@abc.com       | 1      | Survey Event 1 |
  |                      | joe@abc.com       | 1      | Survey Event 2 |
And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.200%20-%20REDUNDANT.feature

Feature: D.104.200 - The system shall support the ability to send a survey when another survey is completed

This feature test is REDUNDANT and can be viewed in D.104.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.300%20-%20Send%20When%20Logic%20is%20True%20and%20Survey%20Complete.feature

Feature: D.104.300 - The system shall support the ability to send a survey after a specified time when a logic becomes true and/or when another survey is completed.

As a REDCap end user I want to see that automated survey invitations work as expected

Scenario: D.104.200 - Send Survey When Survey Completed

Given I login to REDCap with the user "Test_User1"
Then I create a new project named "D.104.300" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/D104300.xml", and clicking the "Create Project" button

#Verify surveys are enabled in the project and email field is designated
Given I click on the link labeled "Project Setup"
And I should see a button labeled "Disable" in the "Use surveys in this project?" row in the "Main project settings" section
Then I should see "Field currently designated: email"

#Modify ASI
Given I click on the link labeled "Designer"
And I click on the button labeled "Automated Invitations"
When I click on the last button labeled "Modify"
And I check the checkbox labeled "When the following logic becomes true:"
And I click on "" in the textarea field labeled "When the following logic becomes true" in the dialog box
And I should see a dialog containing the following text: "Logic Editor"
And I clear field and enter "[event_1_arm_1][lname] != ''" in the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" 
And I check the checkbox labeled "Ensure logic is still true before sending invitation?"
When I enter 0 days 0 hours and 1 minute for When to send invitations AFTER conditions are met
When I click on the button labeled "Save" in the dialog box
Then I should see a dialog containing the following text: "Copy Automated Invitation settings to other surveys"    
And I click on the button labeled "Cancel" in the dialog box

#Re-evaluate surveys
And I click on the button labeled "Auto Invitation options"
When I click on the link labeled "Re-evaluate Automated Survey Invitations"
When I click on the button labeled "Re-evaluate selected surveys"
Then I should see "Nothing changed!"
And I click on the button labeled "OK"

Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action                                   | List of Data Changes OR Fields Exported                          |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design                            | Re-evaluate automated survey invitations:                        |
  | mm/dd/yyyy hh:mm | test_user1 | Re-evaluate Automated Survey Invitations | 0 records were affected.                                         |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design                            | Edit settings for automated survey invitations                   |
  | mm/dd/yyyy hh:mm | SYSTEM       | Manage/Design                            | Automatically schedule survey invitation                         |
  | mm/dd/yyyy hh:mm | SYSTEM       | Manage/Design                            | (Record: "1", Survey: "Survey", Event: "Event 1", Instance: "1") |

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Demographics" instrument on event "Event 1" for record ID "1" and click on the bubble
And I clear field and enter "joe@abc.com" into the data entry form field labeled "Email"
Then I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument

Given I click on the link labeled "Survey Distribution Tools"
Then I should see "Participant List"
And I click on the tab labeled "Survey Invitation Log"
When I click on the button labeled "View past invitations"
Then I should see a table header and rows containing the following values in a table:
  | Invitation send time | Participant Email | Record | Survey         |
  |                      | joe@abc.com       | 1      | Survey Event 1 |

Given I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event 1" for record ID "1" and click on the bubble
When I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Survey"
When I enter "1" into the data entry form field labeled "Reminder"
And I enter "description" into the data entry form field labeled "Description"
Then I click on the button labeled "Submit"
And I click on the button labeled "Close survey"

When I return to the REDCap page I opened the survey from
And I wait for 70 seconds
And I click on the link labeled "Survey Distribution Tools"
Then I should see "Participant List"
And I click on the tab labeled "Survey Invitation Log"
When I click on the button labeled "View past invitations"
Then I should see a table header and rows containing the following values in a table:
  | Invitation send time | Participant Email | Record | Survey         |
  |                      | joe@abc.com       | 1      | Survey Event 1 |

And I should NOT see "Survey Event 2"
When I click on the button labeled "View future invitations"
Then I should see "No invitations to list"

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Demographics" instrument on event "Event 1" for record ID "1" and click on the bubble
And I enter "George" into the data entry form field labeled "Last name"
And I enter "Joe" into the data entry form field labeled "First name"
Then I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument

Given I click on the link labeled "Survey Distribution Tools"
Then I should see "Participant List"
And I click on the tab labeled "Survey Invitation Log"
When I click on the button labeled "View past invitations"
Then I should see a table header and rows containing the following values in a table:
  | Invitation send time | Participant Email | Record | Survey         |
  |                      | joe@abc.com       | 1      | Survey Event 1 |
  |                      | joe@abc.com       | 1      | Survey Event 2 |

And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.400%20-%20REDUNDANT.feature

Feature: D.104.400 - The system shall support the ability to send reminder surveys when the survey is not completed.

This feature test is REDUNDANT and can be viewed in D.104.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.500%20-%20REDUNDANT.feature

Feature: D.104.500 - The system shall support the ability to download automated survey invitations.

This feature test is REDUNDANT and can be viewed in D.104.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.600%20-%20REDUNDANT.feature

Feature: D.104.600 - The system shall support the ability to upload automated survey invitations.

This feature test is REDUNDANT and can be viewed in D.104.300

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Automated%20Survey%20Invitations_104/D.104.700%20-%20REDUNDANT.feature

Feature: D.104.700 - The system shall support the ability to re-evaluate automated survey invitations.

This feature test is REDUNDANT and can be viewed in D.104.300


Comments:

Comment:

Author: MintooXavier Updated on: 12/6/2024 10:52:20 AM

Comment body:

Redundant files not named correctly.

D.104.100:

I’m modifying the script D.104.100

D.104.200:

Comment edits:

Created: 12/6/2024 10:52:20 AM Edited on: 12/6/2024 10:52:20 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Redundant files not named correctly.

D.104.100: - The second ASI is not triggered and verified. - Logging of second ASI was not correct - Have to verify downloaded CSV file

I’m modifying the script D.104.100

D.104.200: - ASI settings file to be uploaded is missing in the repo. Also the filename is not mentioned in the script. https://github.com/CCTC-team/redcap_cypress/blob/2718adcc482b6a6eb67053327e1c68e665ae25b8/manual_scripts/Automated%20Survey%20Invitations_104/D.104.200%20-%20Send%20Survey%20When%20Survey%20Completed.feature#L25

Created: 12/6/2024 10:52:20 AM Edited on: 12/4/2024 10:44:33 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Redundant files not named correctly.

D.104.100: - The second ASI is not triggered and verified. - Logging of second ASI was not correct - Have to verify downloaded CSV file

I’m modifying the script

Comment:

Author: MintooXavier Updated on: 12/12/2024 2:47:52 PM

Comment body:

Automated scripts:

Not able to automate upload survey invitation as it create dynamic form for ASI import.
Have tested this manually and it works.


Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 8:51:17 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 8:51:17 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 8:51:17 AM Assignee: MintooXavier

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:43:55 PM Previous title: 4. Automated Survey Invitations Current title: 104. Automated Survey Invitations

UNASSIGNED | User: MintooXavier Created on: 9/30/2024 3:10:24 PM Assignee: MintooXavier

ASSIGNED | User: LawrenceFayers Created on: 10/21/2024 3:56:38 PM Assignee: LawrenceFayers

ASSIGNED | User: MintooXavier Created on: 12/2/2024 3:37:04 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 12/4/2024 10:44:33 AM Issue comment body:

Redundant files not named correctly.

D.104.100:

I’m modifying the script D.104.100

D.104.200:

ISSUE COMMENT | User: MintooXavier Created on: 12/12/2024 2:47:52 PM Issue comment body:

Automated scripts:

Not able to automate upload survey invitation as it create dynamic form for ASI import.
Have tested this manually and it works.

UNLABELLED | User: MintooXavier Created on: 12/12/2024 3:05:38 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 12/12/2024 3:05:38 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 12/12/2024 3:05:38 PM Label name: Automated Label description:

LABELLED | User: MintooXavier Created on: 12/12/2024 3:05:38 PM Label name: Doubtful of Automating Label description:

UNLABELLED | User: MintooXavier Created on: 4/24/2025 10:27:42 AM Label name: Doubtful of Automating Label description:


————— feature ends —————



Feature: 22. Reporting

Id: I_kwDOIaOBn86RK-O5 Uid: redcap_cypress-77
Author: MintooXavier Created: 7/29/2024 2:23:30 PM
Assignees: |none| Resource path: /CCTC-team/redcap_cypress/issues/77
Milestone: |none| Labels: Core feature || Gherkin || Automated || PQ

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:54:11 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to make reports which help in analysing data

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/22_reporting.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Reporting_22/C.5.22.100%20-%20Report%20Access.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Reporting_22/C.5.22.200%20-%20Report%20Management.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Reporting_22/D.5.22.300%20-%20Limit%20Fields%20Included%20in%20a%20Report.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Reporting_22/D.5.22.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Reporting_22/D.5.22.500%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/22_reporting.spec

C.5.22.100 - User Interface: The system shall support the ability to assign the User Access to View Access and Edit Access in the Reporting module.
C.5.22.200 - User Interface: The system shall support the ability to create, modify, copy, or delete reports.
D.5.22.300 - User Interface: The system shall support the ability to limit fields included in a report.
D.5.22.400 - User Interface: The system shall support the ability to limit filter/live filter records included in a report.
D.5.22.500 - User Interface: The system shall support the ability for reports to link with the following features: Stats & Charts | Export Data | Print | Edit Report.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Reporting_22/C.5.22.100%20-%20Report%20Access.feature

Feature: User Interface: The system shall support the ability to assign the User Access to View Access and Edit Access in the Reporting module

As a REDCap end user I want to see that Reporting is functioning as expected

Scenario: C.5.22.100.100 - MISSING SCENARIO TITLE #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.5.22.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP: Assign record 1 to DAG1
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
Given I click on the span element labeled "Choose action for record"
And I click on the link labeled "Assign to Data Access Group"
Then I should see a dialog containing the following text: "Assign record to a Data Access Group?"
When I select "TestGroup1" on the dropdown field labeled "Assign record" on the dialog box
And I click on the button labeled "Assign to Data Access Group" in the dialog box
Then I should see "Record ID 1 was successfully assigned to a Data Access Group"

#SETUP: Assign record 2 to DAG2
# Is this TestGroup2?
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2"
Given I click on the span element labeled "Choose action for record"
And I click on the link labeled "Assign to Data Access Group"
Then I should see a dialog containing the following text: "Assign record to a Data Access Group?"
When I select "TestGroup2" on the dropdown field labeled "Assign record" on the dialog box
And I click on the button labeled "Assign to Data Access Group" in the dialog box
Then I should see "Record ID 2 was successfully assigned to a Data Access Group"

#USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"

And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "TestGroup1" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "successfully ASSIGNED to the user role"
Then I should see a table header and rows containing the following values in a table:
  | Role name    | Username   | Data Access Group |
  | 1_FullRights | test_user1 | TestGroup1        |

When I click on the link labeled "User Rights"
And I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"

And I select "2_Edit_RemoveID" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "TestGroup2" on the dropdown field labeled "Assign To DAG" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "successfully ASSIGNED to the user role"
Then I should see a table header and rows containing the following values in a table:
  | Role name       | Username   | Data Access Group |
  | 1_FullRights    | test_user1 | TestGroup1        |
  | 2_Edit_RemoveID | test_user2 | TestGroup2        |

When I enter "Test_User3" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
And I uncheck the User Right named "Add/Edit/Organize Reports"
And I click on the button labeled "Add user"
Then I should see "successfully added"
Then I should see a table header and rows containing the following values in a table:
  | Role name       | Username   | Data Access Group |
  |                 | test_user3 |                   |
  | 1_FullRights    | test_user1 | TestGroup1        |
  | 2_Edit_RemoveID | test_user2 | TestGroup2        |

#SETUP: Create report
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "Create New Report"
And I enter "C.5.22.100.100 REPORT" into the input field labeled "Name of Report:"
#FUNCTIONAL_REQUIREMENT
##ACTION
And I click on the button labeled "Save Report"
Then I should see "Your report has been saved!" in the dialog box
And I click on the button labeled "Return to My Reports & Exports"
And I logout

##VERIFY: USER 1
Given I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.5.22.100.100"
When I click on the link labeled "Data Exports, Reports, and Stats"
#
Then I should see a table row containing the following values in the reports table:
  | 2 | C.5.22.100.100 REPORT |

When I click on the button labeled "View Report" for the report named "C.5.22.100.100 REPORT"

Then I should see table rows containing the following values in the report data table:
  | 1 | Event Three (Arm 1: Arm 1) |

And I should NOT see a link labeled exactly "2"
And I should NOT see a link labeled exactly "3"
And I should NOT see a link labeled exactly "4"

##VERIFY: Edit Report button
And I should see a button labeled "Edit Report"
And I logout

##VERIFY: USER 2
Given I login to REDCap with the user "Test_User2"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.5.22.100.100"
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | 2 | C.5.22.100.100 REPORT |

When I click on the button labeled "View Report" for the report named "C.5.22.100.100 REPORT"
Then I should see table rows containing the following values in the report data table:
  | 2 | Event 1 (Arm 1: Arm 1) |

And I should NOT see a link labeled exactly "1"
And I should NOT see a link labeled exactly "3"
And I should NOT see a link labeled exactly "4"

##VERIFY: Edit Report button
And I should see a button labeled "Edit Report"
And I logout

##VERIFY: USER 3
Given I login to REDCap with the user "Test_User3"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.5.22.100.100"
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | 2 | C.5.22.100.100 REPORT |

##VERIFY: cannot create report, edit, delete or copy report
Then I should NOT see a button labeled "Edit"
And I should NOT see a button labeled "Copy"
And I should NOT see a button labeled "Delete"

When I click on the button labeled "View Report" for the report named "C.5.22.100.100 REPORT"
Then I should see table rows containing the following values in the report data table:
  | 1 | Event 1 (Arm 1: Arm 1) |
  | 2 | Event 1 (Arm 1: Arm 1) |
  | 3 | Event 1 (Arm 1: Arm 1) |
  | 4 | Event 1 (Arm 1: Arm 1) |
Then I should see a link labeled exactly "1"
And I should see a link labeled exactly "2"
And I should see a link labeled exactly "3"
And I should see a link labeled exactly "4"

##VERIFY: Edit Report button
And I should NOT see a button labeled "Edit Report"
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "C.5.22.100.100"
And I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "Edit" for the report named "C.5.22.100.100 REPORT"
Then I should see "Edit Existing Report"
And I should see "C.5.22.100.100 REPORT"


#FUNCTIONAL_REQUIREMENT
##ACTION
When I select the radio option "Custom user access" for the field labeled "View Access"

And I select "test_user1 (Test User1)" on the multiselect field labeled "Selected users" in the View Access section of User Access
And I select "test_user2 (Test User2)" on the multiselect field labeled "Selected users" in the View Access section of User Access

When I select the radio option "Custom user access" for the field labeled "Edit Access"
And I select "test_user1 (Test User1)" on the multiselect field labeled "Selected users" in the Edit Access section of User Access

And I click on the button labeled "Save Report"
Then I should see "Your report has been saved!" in the dialog box
And I click on the button labeled "Return to My Reports & Exports"
And I logout

##VERIFY: USER 3
Given I login to REDCap with the user "Test_User3"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.5.22.100.100"
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should NOT see "C.5.22.100.100 REPORT"
And I logout

##VERIFY: USER 2
Given I login to REDCap with the user "Test_User2"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.5.22.100.100"
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see "C.5.22.100.100 REPORT"

Then I should see table rows containing the following values in the reports table:
  | 2 | C.5.22.100.100 REPORT |

#        NOTE: This fails because there is a "Test Report" row in this project that contains these buttons?
#        And I should NOT see a button labeled "Edit"
#        And I should NOT see a button labeled "Copy"
#        And I should NOT see a button labeled "Delete"

When I click on the button labeled "View Report" for the report named "C.5.22.100.100 REPORT"
Then I should see "Number of results returned:1"

#VERIFY: We see a link to Record ID 2 but none of the other records
Then I should see a link labeled exactly "2"
And I should NOT see a link labeled exactly "1"
And I should NOT see a link labeled exactly "3"
And I should NOT see a link labeled exactly "4"

##VERIFY: Edit Report button
And I should NOT see a button labeled "Edit Report"
And I logout

##VERIFY: USER 1
Given I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.5.22.100.100"
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see "C.5.22.100.100 REPORT"

Then I should see table rows containing the following values in the reports table:
  | 2 | C.5.22.100.100 REPORT |

Then I should see the button labeled "Edit"
And I should see the button labeled "Copy"
And I should see the button labeled "Delete"

When I click on the button labeled "View Report" for the report named "C.5.22.100.100 REPORT"
Then I should see "Number of results returned:4"
And I should see a link labeled exactly "1"
And I should NOT see a link labeled exactly "2"
And I should NOT see a link labeled exactly "3"
And I should NOT see a link labeled exactly "4"

##VERIFY: Edit Report button
And I should see a button labeled "Edit Report"
And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Reporting_22/C.5.22.200%20-%20Report%20Management.feature

Feature: User Interface: The system shall support the ability to create, modify, copy, or delete reports.

As a REDCap end user I want to see that Reporting is functioning as expected

Scenario: C.5.22.200.100 - MISSING SCENARIO TITLE #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.5.22.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL_REQUIREMENT
##ACTION:  create report
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "Create New Report"
And I enter "C.5.22.200.100 REPORT" into the input field labeled "Name of Report:"
And I click on the button labeled "Save Report"
Then I should see "Your report has been saved!" in the dialog box

##VERIFY: saved name
When I click on the button labeled "View report" in the dialog box
Then I should see "C.5.22.200.100 REPORT"

When I click on the button labeled "Edit Report"
Then I should see "Edit Existing Report:"
And I should see "C.5.22.200.100 REPORT"

#FUNCTIONAL_REQUIREMENT
##ACTION:  edit report name

When I clear field and enter "C.5.22.200.100 REPORT_EDIT" into the input field labeled "Name of Report:"
And I click on the button labeled "Save Report"
Then I should see "Your report has been saved!" in the dialog box

##VERIFY: edited name
When I click on the button labeled "View report" in the dialog box
Then I should see "C.5.22.200.100 REPORT_EDIT"

When I click on the button labeled "Edit Report"
Then I should see "Edit Existing Report:"
And I should see "C.5.22.200.100 REPORT_EDIT"

When I clear field and enter "C.5.22.200.100 REPORT_EDIT2" into the input field labeled "Name of Report:"
And I click on the button labeled "Save Report"
Then I should see "Your report has been saved!" in the dialog box

##VERIFY: edited name
When I click on the button labeled "View report" in the dialog box
Then I should see "C.5.22.200.100 REPORT_EDIT2"

When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | 2 | C.5.22.200.100 REPORT_EDIT2 |

#FUNCTIONAL_REQUIREMENT
##ACTION:  copy report
When  I click on the button labeled "Copy" for the report named "C.5.22.200.100 REPORT_EDIT2"
Then I should see "COPY REPORT?"

When I click on the button labeled "Copy" in the dialog box
##VERIFY: copy
Then I should see a table row containing the following values in the reports table:
  | 2 | C.5.22.200.100 REPORT_EDIT2        |
  | 3 | C.5.22.200.100 REPORT_EDIT2 (copy) |

#FUNCTIONAL_REQUIREMENT
##ACTION:  delete report
## if we delete C.5.22.200.100 REPORT_EDIT2, it is not easy to verify
When  I click on the button labeled "Delete" for the report named "C.5.22.200.100 REPORT_EDIT2 (copy)"
Then I should see "DELETE REPORT?"

When I click on the button labeled "Delete" in the dialog box
##VERIFY: delete
Then I should see a table row containing the following values in the reports table:
  | 2 | C.5.22.200.100 REPORT_EDIT2 |

And I should NOT see "C.5.22.200.100 REPORT_EDIT2 (copy)"

#VERIFY_LOG
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data ChangesOR Fields Exported                                                                               |
  | test_admin | Manage/Design | Delete report (report: "C.5.22.200.100 REPORT_EDIT2 (copy)", report_id: 3, fields: record_id)                        |
  | test_admin | Manage/Design | Copy report (report: "C.5.22.200.100 REPORT_EDIT2 (copy)", report_id: 3, copied from report_id 2, fields: record_id) |
  | test_admin | Manage/Design | Edit report (report: "C.5.22.200.100 REPORT_EDIT2", report_id: 2, fields: record_id)                                 |
  | test_admin | Manage/Design | Edit report (report: "C.5.22.200.100 REPORT_EDIT", report_id: 2, fields: record_id)                                  |
  | test_admin | Manage/Design | Create report (report: "C.5.22.200.100 REPORT", report_id: 2, fields: record_id)                                     |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Reporting_22/D.5.22.300%20-%20Limit%20Fields%20Included%20in%20a%20Report.feature

Feature: D.5.22.300 - The system shall support the ability to limit fields included in a report.

As a REDCap end user I want to be able to limit fields included in a report.

Scenario: D.5.22.300 - Limit Fields in a Report Given I login to REDCap with the user “Test_User1” Then I create a new project named “D.5.22.300” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

Given I click on the link labeled "Data Import Tool"
And  I upload a "csv" format file located at "import_files/redcap_val/redcap_val_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I should see "Your document was uploaded successfully and is ready for review."
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

Given I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "Create New Report"
And I enter 'Test Report 1' into the input field labeled "Name of Report:"
And I enter 'ptname "Name"' into the input field labeled "Field 2"
And I click on the list item 'ptname "Name"'
And I enter 'email_v2 "Email"' into the input field labeled "Field 3" 
And I click on the list item 'email_v2 "Email"'
And I enter 'required "Required"' into the input field labeled "Field 4" 
And I click on the list item 'required "Required"'
Then I should see "Show data for all events or repeating instruments/events for each record returned"
When I enter 'textbox "Text Box"' into the field label for Filter 1
And I click on the list item 'textbox "Text Box"'
And I select the operator "contains" for Filter 1
And I enter "She" into the operator value for Filter 1
And I select 'record_id "Record ID"' on the dropdown field labeled "Live Filter 1"
When I click on the button labeled "Save Report"
And I click on the button labeled "View report" in the dialog box
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Event Name             | Repeat Instrument | Repeat Instance | Name        | Email                       | Required |
  | 1         | Event 1 (Arm 1: Arm 1) |                   |                 |             | tonystone@example.com       |          |
  | 1         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Lily Brown  |                             | 1        |
  | 4         | Event 1 (Arm 1: Arm 1) |                   |                 |             | johndoe@example.com         |          |
  | 4         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Shy Green   |                             | 4        |
  | 6         | Event 1 (Arm 1: Arm 1) |                   |                 |             | poppyseven@example.com      |          |
  | 6         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Rose Sally  |                             | 6        |
  | 7         | Event 1 (Arm 1: Arm 1) |                   |                 |             | christopherblue@example.com |          |
  | 7         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Gilly Dilly |                             | 7        |

When I select '7' on the dropdown field labeled "Live filters"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Event Name             | Repeat Instrument | Repeat Instance | Name        | Email                       | Required |
  | 7         | Event 1 (Arm 1: Arm 1) |                   |                 |             | christopherblue@example.com |          |
  | 7         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Gilly Dilly |                             | 7        |

When I click on the link labeled "Reset"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Event Name             | Repeat Instrument | Repeat Instance | Name        | Email                       | Required |
  | 1         | Event 1 (Arm 1: Arm 1) |                   |                 |             | tonystone@example.com       |          |
  | 1         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Lily Brown  |                             | 1        |
  | 4         | Event 1 (Arm 1: Arm 1) |                   |                 |             | johndoe@example.com         |          |
  | 4         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Shy Green   |                             | 4        |
  | 6         | Event 1 (Arm 1: Arm 1) |                   |                 |             | poppyseven@example.com      |          |
  | 6         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Rose Sally  |                             | 6        |
  | 7         | Event 1 (Arm 1: Arm 1) |                   |                 |             | christopherblue@example.com |          |
  | 7         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Gilly Dilly |                             | 7        |

When I click on the button labeled "Edit"
And I enter 'radio_button_manual "Radio Button Manual"' into the field label for Filter 2
And I click on the list item 'radio_button_manual "Radio Button Manual"'
And I select the operator "=" for Filter 2
And I select the operator value "Choice99" for Filter 2
And I select 'required "Required"' on the dropdown field labeled "First by"
When I click on the button labeled "Save Report"
And I click on the button labeled "View report" in the dialog box
#The order of records does not matter for ATS testing. Hence Step 4 ("First by" filter) should be tested manually
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Event Name             | Repeat Instrument | Repeat Instance | Name        | Email                       | Required |
  | 1         | Event 1 (Arm 1: Arm 1) |                   |                 |             | tonystone@example.com       |          |
  | 4         | Event 1 (Arm 1: Arm 1) |                   |                 |             | johndoe@example.com         |          |
  | 1         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Lily Brown  |                             | 1        |
  | 4         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Shy Green   |                             | 4        |

Given I click on the link labeled "Data Exports, Reports, and Stats"
When I click on the button labeled "Edit"
And I enter 'required "Required"' into the field label for Filter 3
And I click on the list item 'required "Required"'
And I select the operator "not =" for Filter 3
And I enter "4" into the operator value for Filter 3
When I click on the button labeled "Save Report"
And I click on the button labeled "View report" in the dialog box
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Event Name             | Repeat Instrument | Repeat Instance | Name        | Email                       | Required |
  | 1         | Event 1 (Arm 1: Arm 1) |                   |                 |             | tonystone@example.com       |          |
  | 1         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               | Lily Brown  |                             | 1        |

Given I click on the link labeled "Project Setup"
When I click on the button labeled "Designate Instruments for My Events"
And I click on the tab labeled "Arm 1"
And I click on the button labeled "Begin Editing"
And I enable the Data Collection Instrument named "Data Types" for the Event named "Event 2"
Then I click on the button labeled "Save" on the Designate Instruments for My Events page

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 2" for record ID "1" and click on the bubble
And I enter "Jasmine Ryan" into the data entry form field labeled "Name"
And I enter "9" into the data entry form field labeled "Required"
And I enter "She is a nurse" into the data entry form field labeled "Text Box"
Then I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument

Given I click on the link labeled "Data Exports, Reports, and Stats"
When I click on the button labeled "Edit"
And I select "Event 2 (Arm 1: Arm 1)" on the multiselect field labeled "Filter by event(s)"
When I click on the button labeled "Save Report"
And I click on the button labeled "View report" in the dialog box
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Event Name             | Repeat Instrument | Repeat Instance | Name         | Email | Required |
  | 1         | Event 2 (Arm 1: Arm 1) |                   | 1               | Jasmine Ryan |       | 9        |

And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Reporting_22/D.5.22.400%20-%20REDUNDANT.feature

Feature: D.5.22.400 - User Interface: The system shall support the ability to limit filter/live filter records included in a report.

This feature test is REDUNDANT and can be viewed in D.5.22.300

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Reporting_22/D.5.22.500%20-%20REDUNDANT.feature

Feature: D.5.22.500 - User Interface: The system shall support the ability for reports to link with the following features: Stats & Charts | Export Data | Print | Edit Report.

This feature test is REDUNDANT and can be viewed in the following scripts Stats & Charts - D.118.100 Export Data - B.5.21 Edit Report - C.5.22.200 and D.5.22.300


Comments:

Comment:

Author: MintooXavier Updated on: 8/5/2024 9:14:25 AM

Comment body:

Scripts Pre-reviewed:

  1. C.5.22.100 - Report Access
  2. C.5.22.200 - Report Management

Both scripts pass

Have to add scripts for package D

Comment edits:

Created: 8/5/2024 9:14:25 AM Edited on: 8/5/2024 9:14:25 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed: 1. C.5.22.100 - Report Access 2. C.5.22.200 - Report Management

Both scripts pass

Have to add scripts for package D

Created: 8/5/2024 9:10:15 AM Edited on: 8/5/2024 9:10:15 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed: 1. C.5.22.100 - Report Access 2. C.5.22.200 - Report Management

Both scripts pass

Created: 8/5/2024 8:58:47 AM Edited on: 8/5/2024 8:58:47 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed: 1. C.5.22.100 - Report Access 2. C.5.22.200 - Report Management Both tests pass

Created: 8/5/2024 8:58:47 AM Edited on: 8/5/2024 8:41:09 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed: 1. C.5.22.100 - Report Access

Comment:

Author: MintooXavier Updated on: 8/5/2024 9:05:23 AM

Comment body:

C.5.22.200 - Report Management

Comment:

Author: MintooXavier Updated on: 10/30/2024 1:38:17 PM

Comment body:

C.5.22.200 - Report Management
• Added steps to verify logging

Comment:

Author: MintooXavier Updated on: 12/16/2024 3:38:26 PM

Comment body:

Rewriting D.5.22.100 as the field names and options don’t match for filters. Lots of Duplicate steps
D.5.22.400 and D.5.22.500 - Made these scripts redundant and added it to D.5.22.300

Comment edits:

Created: 12/16/2024 3:38:26 PM Edited on: 12/16/2024 3:38:26 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Rewriting D.5.22.100 as the field names and options don’t match for filters. Lots of Duplicate steps D.5.22.400 and D.5.22.500 - Made these scripts redundant and added it to D.5.22.300

Created: 12/16/2024 1:14:20 PM Edited on: 12/16/2024 1:14:20 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Rewriting D.5.22.100 as the field names and options don’t match for filters Lots of Duplicate steps

Created: 12/16/2024 1:14:20 PM Edited on: 12/16/2024 12:18:02 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Rewriting D.5.22.100 as the field names and options don’t match for filters

Comment:

Author: MintooXavier Updated on: 12/16/2024 3:40:13 PM

Comment body:

Scripts automated:


Timeline events:

LABELLED | User: MintooXavier Created on: 7/29/2024 2:23:30 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/29/2024 2:23:30 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/29/2024 2:23:30 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/29/2024 2:23:30 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 8/5/2024 8:41:09 AM Issue comment body:

Scripts Pre-reviewed:

  1. C.5.22.100 - Report Access
  2. C.5.22.200 - Report Management

Both scripts pass

Have to add scripts for package D

ISSUE COMMENT | User: MintooXavier Created on: 8/5/2024 9:05:23 AM Issue comment body:

C.5.22.200 - Report Management

LABELLED | User: MintooXavier Created on: 8/5/2024 9:09:59 AM Label name: Question Label description: Further information is requested

LABELLED | User: MintooXavier Created on: 8/5/2024 9:14:00 AM Label name: Enhancement Label description: New feature or request

UNASSIGNED | User: MintooXavier Created on: 10/22/2024 8:28:47 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 10/30/2024 1:38:17 PM Issue comment body:

C.5.22.200 - Report Management
• Added steps to verify logging

ISSUE COMMENT | User: MintooXavier Created on: 12/16/2024 12:18:02 PM Issue comment body:

Rewriting D.5.22.100 as the field names and options don’t match for filters. Lots of Duplicate steps
D.5.22.400 and D.5.22.500 - Made these scripts redundant and added it to D.5.22.300

ISSUE COMMENT | User: MintooXavier Created on: 12/16/2024 3:40:13 PM Issue comment body:

Scripts automated:

LABELLED | User: MintooXavier Created on: 12/16/2024 3:40:38 PM Label name: Non-core feature Label description: A feature managed by CCTU

UNLABELLED | User: MintooXavier Created on: 12/16/2024 3:42:24 PM Label name: Enhancement Label description: New feature or request

UNLABELLED | User: MintooXavier Created on: 12/16/2024 3:42:24 PM Label name: Question Label description: Further information is requested

UNLABELLED | User: MintooXavier Created on: 12/17/2024 11:06:48 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 12/17/2024 11:06:48 AM Label name: PQ Label description:


————— feature ends —————



Feature: 10. Data Access Groups

Id: I_kwDOIaOBn86N3JNH Uid: redcap_cypress-62
Author: MintooXavier Created: 6/28/2024 9:53:12 AM
Assignees: MintooXavier || phillidgithub Resource path: /CCTC-team/redcap_cypress/issues/62
Milestone: |none| Labels: Core feature || Gherkin || Automated || PQ

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:50:04 PM
Locked: false Participants: MintooXavier || phillidgithub

Project item body:

Brief description:
This feature is used to assign/unassign users to sites (Data Access Group).

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/10_data_access_groups.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.100%20%20-%20Create%20Edit%20Delete.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.200%20-%20Add%20Remove%20Users.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.300%20-%20Multiple%20DAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.400%20-%20User%20and%20Record%20Restrictions.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.500%20-%20Assign%20Records%20to%20DAG.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.600%20-%20Unique%20DAGs.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Access%20Groups_10/D.10.700%20-%20Reassign%20record%20to%20another%20DAG.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/10_data_access_groups.spec

B.2.10.100 - User Interface: The system shall allow for the creation of DAGs and the deletion of DAGs if no users or records are assigned to it.
B.2.10.200 - User Interface: The system shall support adding and removing users from DAGs.
B.2.10.300 - User Interface: The system shall allow a user to be added to more than one DAG.
B.2.10.400 - User Interface: The system shall provide the ability to restrict a user who has been assigned to a DAG to: (data they entered | data entered by any member of the same DAG | files uploaded in the File Repository)
B.2.10.500 - User Interface: The system shall provide the ability to assign records to a DAG from the Record Home page.
B.2.10.600 - User Interface: The system shall provide the DAG unique group names in the data export raw CSV file and the label in the CSV labels data file.
D.10.700 - The system shall provide the ability to reassign a record from one DAG to another for users with appropriate user rights

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.100%20%20-%20Create%20Edit%20Delete.feature

Feature: B.2.10.100 Data Access Groups-DAGs User Interface: The system shall allow for the creation of DAGs and the deletion of DAGs if no users or records are assigned to it.

As a REDCap end user I want to see that Data Access Groups is functioning as expected

Scenario: B.2.10.100.100 Create, Edit & Delete DAGs #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.10.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.2.10.100.100” And I click on the link labeled “DAGs” Then I should see “Assign user to a group”

#FUNCTIONAL REQUIREMENT
##ACTION: Create DAG
When I enter "TestGroup3" into the field with the placeholder text of "Enter new group name"
And I click on the button labeled "Add Group"

##VERIFY
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups |
  | TestGroup1         |
  | TestGroup2         |
  | TestGroup3         |

##ACTION: Edit DAG
When I click on a table cell containing the text "TestGroup3" in the data access groups table and clear field and enter "RenameGroup3"

##VERIFY
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups |
  | TestGroup1         |
  | TestGroup2         |
  | RenameGroup3       |

#FUNCTIONAL REQUIREMENT - Cannot delete DAG with User
##ACTION: Add User with Basic custom rights
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I should see a dialog containing the following text: "Adding new user"
And I save changes within the context of User Rights

##ACTION: Assign User to DAG
Given I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "RenameGroup3" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

##VERIFY
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | TestGroup1         |                         |
  | TestGroup2         |                         |
  | RenameGroup3       | test_user1 (Test User1) |
    
##ACTION: Cannot Delete DAG with User
Given I click the X to delete the data access group named "RenameGroup3"
Then I should see a dialog containing the following text: "Delete group?"
When I click on the button labeled "Delete" on the dialog box
Then I should see "The group could not be deleted because users or roles are still assigned to it."

##VERIFY
And I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group          |
  | TestGroup1         |                         |
  | TestGroup2         |                         |
  | RenameGroup3       | test_user1 (Test User1) |

##ACTION: Remove User from DAG
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
When I select "[No Assignment]" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

##VERIFY
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group |
  | TestGroup1         |                |
  | TestGroup2         |                |
  | RenameGroup3       |                |

##ACTION: Delete DAG
Given I click the X to delete the data access group named "RenameGroup3"
Then I should see a dialog containing the following text: "Delete group?"
When I click on the button labeled "Delete" on the dialog box

##VERIFY
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups |
  | TestGroup1         |
  | TestGroup2         |
Then I should NOT see "RenameGroup3"

##VERIFY_LOG: Verify Update, Edit and Delete for DAG
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Delete data access group                |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Rename data access group                |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Create data access group                |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.200%20-%20Add%20Remove%20Users.feature

Feature: B.2.10.200 Data Access Groups-DAGs User Interface: The system shall support adding and removing users from DAGs.

As a REDCap end user I want to see that Data Access Groups is functioning as expected

Scenario: B.2.10.200.100 Assign & Remove User to DAG #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.10.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.2.10.200.100” And I click on the link labeled “User Rights” And I click on the button labeled “Upload or download users, roles, and assignments” Then I should see “Upload users (CSV)”

When I click on the link labeled "Upload users (CSV)"
Then I should see a dialog containing the following text: "Upload users (CSV)"

Given I upload a "csv" format file located at "import_files/user list for project 1.csv", by clicking the button near "Select your CSV" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see a dialog containing the following text: "Upload users (CSV) - Confirm"
And I should see a table header and rows containing the following values in a table:
  | username   |
  | test_user1 |
  | test_user2 |
  | test_user3 |
  | test_user4 |

Given I click on the button labeled "Upload" in the dialog box
Then I should see a dialog containing the following text: "SUCCESS!"

When I click on the button labeled "Close" in the dialog box
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user1          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

When I click on the link labeled "DAGs"
Then I should see "Assign user to a group"

#FUNCTIONAL REQUIREMENT
##ACTION: Assign User to DAG
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
When I select "TestGroup1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

##VERIFY: DAG assignment
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group |
  | TestGroup1         | test_user1     |

##VERIFY_LOG:
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Assign user to data access group        |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | user = 'test_user1'                     |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | group = 'TestGroup1'                    |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.200.100"

##VERIFY: Access to DAG Module restricted
And I click on the button labeled "Data Access Groups"
Then I should see "RESTRICTED:"

##VERIFY_UR: DAG assignment
When I click on the link labeled "User Rights"
Then I should see a table header and rows containing the following values in a table:
  | Role name | Username   | Data Access Groups |
  | —         | test_user1 | TestGroup1         |

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

#SETUP
And I logout
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.200.100"
And I click on the link labeled "DAGs"
Then I should see "Assign user to a group"

##ACTION: Remove DAG
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
When I select "[No Assignment]" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

##VERIFY
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups        | Users in group          |
  | [Not assigned to a group] | test_user1 (Test User1) |
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.200.100"

##VERIFY: Access to DAG Module
And I click on the button labeled "Data Access Group"
Then I should see "Assign user to a group"

##VERIFY_UR
When I click on the link labeled "User Rights"
Then I should see a table header and rows containing the following values in a table:
  | Role name | Username   | Data Access Groups |
  | —         | test_user1 |                    |

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1         |
  | 2         |
  | 3         |
  | 4         |

##VERIFY_LOG:
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Remove user from data access group      |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | user = 'test_user1'                     |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | group = 'TestGroup1'                    |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Assign user to data access group        |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | user = 'test_user1'                     |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | group = 'TestGroup1'                    |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.300%20-%20Multiple%20DAGs.feature

Feature: B.2.10.300 Data Access Groups-DAGs User Interface: The system shall allow a user to be added to more than one DAG.

As a REDCap end user I want to see that Data Access Groups is functioning as expected

Scenario: B.2.10.300.100 Assign user multiple DAGs and DAG Switcher #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.10.300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.2.10.300.100” And I click on the link labeled “User Rights” And I click on the button labeled “Upload or download users, roles, and assignments” Then I should see “Upload users (CSV)”

When I click on the link labeled "Upload users (CSV)"
Then I should see a dialog containing the following text: "Upload users (CSV)"

Given I upload a "csv" format file located at "import_files/user list for project 1.csv", by clicking the button near "Select your CSV" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see a dialog containing the following text: "Upload users (CSV) - Confirm"
And I should see a table header and rows containing the following values in a table:
  | username   |
  | test_user1 |
  | test_user2 |
  | test_user3 |
  | test_user4 |

Given I click on the button labeled "Upload" in the dialog box
Then I should see a dialog containing the following text: "SUCCESS!"

When I click on the button labeled "Close" in the dialog box
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user1          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

When I click on the link labeled "DAGs"
Then I should see "Assign user to a group"

#FUNCTIONAL REQUIREMENT
##ACTION: Assign DAG
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
When I select "TestGroup1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

##VERIFY
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group |
  | TestGroup1         | test_user1     |
  | TestGroup2         |                |

##ACTION: Assign DAG
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
When I select "TestGroup2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

##VERIFY
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group |
  | TestGroup1         |                |
  | TestGroup2         | test_user1     |

##ACTION: Assign DAG Switcher
When I check "TestGroup1" for user "test_user1" in the DAG Switcher
And I check "TestGroup2" for user "test_user1" in the DAG Switcher

#ASSIGN RECORDS TO SPECIFIC DAGs
# -- Record ID 3 - TestGroup1 --
Given I click on the link labeled "Add / Edit Records"
And I select "3" on the dropdown field labeled "Choose an existing Record ID"
Then I should see "Record ID 3"

Given I click on the span element labeled "Choose action for record"
And I click on the link labeled "Assign to Data Access Group"
Then I should see a dialog containing the following text: "Assign record to a Data Access Group?"

When I select "TestGroup1" on the dropdown field labeled "Assign record" on the dialog box
And I click on the button labeled "Assign to Data Access Group" in the dialog box
Then I should see "Record ID 3 was successfully assigned to a Data Access Group"

# -- Record ID 4 - TestGroup2 --
Given I click on the link labeled "Add / Edit Records"
And I select "4" on the dropdown field labeled "Choose an existing Record ID"
Then I should see "Record ID 4"

Given I click on the span element labeled "Choose action for record"
And I click on the link labeled "Assign to Data Access Group"
Then I should see a dialog containing the following text: "Assign record to a Data Access Group?"

When I select "TestGroup2" on the dropdown field labeled "Assign record" on the dialog box
And I click on the button labeled "Assign to Data Access Group" in the dialog box
Then I should see "Record ID 4 was successfully assigned to a Data Access Group"


When I logout
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.300.100"
And I click on the link labeled "Record Status Dashboard"

##VERIFY
Then I should see "Current Data Access Group"

##ACTION: Switch DAG
When I click on the button labeled "Switch"
Then I should see a dialog containing the following text: "Switch Data Access Group"

When I select "TestGroup1" on the dropdown field labeled "Select the Data Access Group" on the dialog box
Then I click on the button labeled "Switch" in the dialog box
And I should see a dialog containing the following text: "Successfully switched"

#This is problematic for ATS because this button AUTOMATICALLY disappears ...
#And I click on the button labeled "OK" in the dialog box

##VERIFY
Then I should see "Data Collection—TestGroup1"

##VERIFY_RSD:
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID     |
  | 3  TestGroup1 |

##VERIFY
When I click on the button labeled "Switch"
Then I should see a dialog containing the following text: "Switch Data Access Group"

When I select "TestGroup2" on the dropdown field labeled "Select the Data Access Group" on the dialog box
Then I click on the button labeled "Switch" in the dialog box
And I should see a dialog containing the following text: "Successfully switched"

#This is problematic for ATS because this button AUTOMATICALLY disappears ...
#And I click on the button labeled "OK" in the dialog box

Then I should see "Data Collection—TestGroup2"

##VERIFY_RSD:
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID     |
  | 4  TestGroup2 |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.400%20-%20User%20and%20Record%20Restrictions.feature

Feature: B.2.10.400 Data Access Groups-DAGs User Interface: The system shall provide the ability to restrict a user who has been assigned to a DAG to: * data they entered * data entered by any member of the same DAG * files uploaded in the File Repository

As a REDCap end user I want to see that Data Access Groups is functioning as expected

Scenario: B.2.10.400.100 User restriction for records in DAGs

#SETUP_NOTE: Will reference unique Group ID numbers located on DAG page. These numbers are specific the PID

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I create a new project named "B.2.10.400.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.400.100"
And I click on the link labeled "User Rights"
And I click on the button labeled "Upload or download users, roles, and assignments"
Then I should see "Upload users (CSV)"

When I click on the link labeled "Upload users (CSV)"
Then I should see a dialog containing the following text: "Upload users (CSV)"

Given I upload a "csv" format file located at "import_files/user list for project 1.csv", by clicking the button near "Select your CSV" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see a dialog containing the following text: "Upload users (CSV) - Confirm"
And I should see a table header and rows containing the following values in a table:
  | username   |
  | test_user1 |
  | test_user2 |
  | test_user3 |
  | test_user4 |

Given I click on the button labeled "Upload" in the dialog box
Then I should see a dialog containing the following text: "SUCCESS!"

When I click on the button labeled "Close" in the dialog box
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user1          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |


#This will give Test_User3 elevated privileges for this test
And I click on the link labeled "Test User3"
And I click on the button labeled "Edit user privileges"
Then I should see a dialog containing the following text: "Editing existing user"

##ACTION: Set user access to View & Edit + Edit survey responses
When I set Data Viewing Rights to View & Edit for the instrument "Text Validation"
And I set Data Viewing Rights to View & Edit with Edit survey responses checked for the instrument "Consent"
And I save changes within the context of User Rights

#This will give Test_User4 elevated privileges for this test
And I click on the link labeled "Test User4"
And I click on the button labeled "Edit user privileges"
Then I should see a dialog containing the following text: "Editing existing user"

##ACTION: Set user access to View & Edit + Edit survey responses
When I set Data Viewing Rights to View & Edit for the instrument "Text Validation"
And I set Data Viewing Rights to View & Edit with Edit survey responses checked for the instrument "Consent"
And I save changes within the context of User Rights

#ASSIGN RECORDS TO SPECIFIC DAGs
# -- Record ID 3 - TestGroup1 --
Given I click on the link labeled "Add / Edit Records"
And I select "3" on the dropdown field labeled "Choose an existing Record ID"
Then I should see "Record ID 3"

Given I click on the span element labeled "Choose action for record"
And I click on the link labeled "Assign to Data Access Group"
Then I should see a dialog containing the following text: "Assign record to a Data Access Group?"

When I select "TestGroup1" on the dropdown field labeled "Assign record" on the dialog box
And I click on the button labeled "Assign to Data Access Group" in the dialog box
Then I should see "Record ID 3 was successfully assigned to a Data Access Group"

# -- Record ID 4 - TestGroup2 --
Given I click on the link labeled "Add / Edit Records"
And I select "4" on the dropdown field labeled "Choose an existing Record ID"
Then I should see "Record ID 4"

Given I click on the span element labeled "Choose action for record"
And I click on the link labeled "Assign to Data Access Group"
Then I should see a dialog containing the following text: "Assign record to a Data Access Group?"

When I select "TestGroup2" on the dropdown field labeled "Assign record" on the dialog box
And I click on the button labeled "Assign to Data Access Group" in the dialog box
Then I should see "Record ID 4 was successfully assigned to a Data Access Group"

When I click on the link labeled "DAGs"
Then I should see "Assign user to a group"

#FUNCTIONAL REQUIREMENT
##ACTION: Assign User to DAG
When I select "test_user3 (Test User3)" on the dropdown field labeled "Assign user"
When I select "TestGroup1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

##VERIFY
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group |
  | TestGroup1         | test_user3     |

When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
When I select "TestGroup1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

##VERIFY
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group |
  | TestGroup1         | test_user3     |
  | TestGroup1         | test_user1     |

When I select "test_user4 (Test User4)" on the dropdown field labeled "Assign user"
When I select "TestGroup2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

##VERIFY
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group |
  | TestGroup1         | test_user3     |
  | TestGroup1         | test_user1     |
  | TestGroup2         | test_user4     |

When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
When I select "TestGroup2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group |
  | TestGroup1         | test_user3     |
  | TestGroup1         | test_user1     |
  | TestGroup2         | test_user4     |
  | TestGroup2         | test_user2     |

And I logout

##VERIFY
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.400.100"
And I click on the link labeled "Record Status Dashboard"

##VERIFY_RSD:
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID     |
  | 3  TestGroup1 |

##VERIFY
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Then I should see "Record Home Page"

##ACTION: Add record while in a DAG
Given I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
And I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event Three"

#This opens the survey
When I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label

#On the survey
Then I should see "Consent"
And I should see "Please complete the survey below."

Given I click on the button labeled "Next Page"
Then I should see "Displayed below is a read-only copy of your survey responses."
And I check the checkbox labeled "I certify"
When I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

When I click on the button labeled "Close survey"
Then I should see "You may now close this tab/window"

#Verify still logged in as Test_User3
Given I am still logged in to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.400.100"

##VERIFY_LOG:
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user3 | Create record | record_id = '1-1'                       |

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID     |
  | 3  TestGroup1 |

##VERIFY_FR:
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive"
Then I should see a table header and rows containing the following values in a table:
  | Record | Survey                               | Survey Completion Time |
  | 1-1    | Consent (Event Three (Arm 1: Arm 1)) | mm/dd/yyyy hh:mm       |

And I logout

##ACTION: Another user from same DAG has access to same DAG records
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.400.100"

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID       |
  | 1-1  TestGroup1 |
  | 3  TestGroup1   |

##VERIFY_FR:
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive"

Then I should see a table header and rows containing the following values in a table:
  | Record | Survey                               | Survey Completion Time |
  | 1-1    | Consent (Event Three (Arm 1: Arm 1)) | mm/dd/yyyy hh:mm       |
And I logout

##ACTION: Separate User DAG
Given I login to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.400.100"

##VERIFY
When I click on the link labeled "Add / Edit Records"
And I select "4" on the dropdown field labeled "Choose an existing Record ID"
Then I should see "Record Home Page"

##ACTION: Add record while in a DAG
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Then I should see "Record Home Page"

##ACTION: Add record while in a DAG
Given I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
And I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event Three"

#This opens the survey
When I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label

#On the survey
Then I should see "Consent"
And I should see "Please complete the survey below."

Given I click on the button labeled "Next Page"
And I should see "Consent"
Then I should see "Displayed below is a read-only copy of your survey responses."
And I check the checkbox labeled "I certify"
When I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

When I click on the button labeled "Close survey"
Then I should see "You may now close this tab/window"

Given I am still logged in to REDCap with the user "Test_User4"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.400.100"

##VERIFY_RSD:
And I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID       |
  | 2-1  TestGroup2 |
  | 4  TestGroup2   |

##VERIFY_FR:
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive"
Then I should see a table header and rows containing the following values in a table:
  | Record | Survey                               | Survey Completion Time |
  | 2-1    | Consent (Event Three (Arm 1: Arm 1)) | mm/dd/yyyy hh:mm       |
And I logout

##ACTION: Another user from same DAG has access to same DAG records
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.400.100"

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID       |
  | 2-1  TestGroup2 |
  | 4  TestGroup2   |

##VERIFY_FR:
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive"
Then I should see a table header and rows containing the following values in a table:
  | Record | Survey                               | Survey Completion Time |
  | 2-1    | Consent (Event Three (Arm 1: Arm 1)) | mm/dd/yyyy hh:mm       |
And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.500%20-%20Assign%20Records%20to%20DAG.feature

Feature: B.2.10.500 Data Access Groups-DAGs User Interface: The system shall provide the ability to assign records to a DAG from the Record Home page

As a REDCap end user I want to see that Data Access Groups is functioning as expected

Scenario: B.2.10.500.100 Assign DAG to record #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.10.500.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.10.500.100"
And I click on the link labeled "Add / Edit Records"
And I select record ID "2" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should see "Record Home Page"

#FUNCTIONAL REQUIREMENT
##ACTION: Assign Record DAG
Given I click on the span element labeled "Choose action for record"
And I click on the link labeled "Assign to Data Access Group"
Then I should see a dialog containing the following text: "Assign record to a Data Access Group?"

When I select "TestGroup1" on the dropdown field labeled "Assign record" on the dialog box
And I click on the button labeled "Assign to Data Access Group" in the dialog box
Then I should see "Record ID 2 was successfully assigned to a Data Access Group"

##VERIFY
Then I should see "Record Home Page"
And I should see "TestGroup1"

##VERIFY_LOG:
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported   |
  | mm/dd/yyyy hh:mm | test_admin | Update record | Assign record to Data Access Group        |
  | mm/dd/yyyy hh:mm | test_admin | Update record | (redcap_data_access_group = 'testgroup1') |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Access%20Groups_10/B.2.10.600%20-%20Unique%20DAGs.feature

Feature: B.2.10.600 Data Access Groups-DAGs User Interface: The system shall provide the DAG unique group names in the data export raw CSV file and the label in the CSV labels data file of the same DAG

As a REDCap end user I want to see that Data Access Groups is functioning as expected

Scenario: B.2.10.600.100 Unique DAGs #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.10.600.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.2.10.600.100”

#FUNCTIONAL REQUIREMENT
##ACTION: Record assigned DAG
Given I click on the link labeled "Add / Edit Records"
When I select record ID "3" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should see "Record Home Page"

Given I click on the span element labeled "Choose action for record"
And I click on the link labeled "Assign to Data Access Group"
Then I should see a dialog containing the following text: "Assign record to a Data Access Group?"

When I select "TestGroup1" on the dropdown field labeled "Assign record" on the dialog box
And I click on the button labeled "Assign to Data Access Group" in the dialog box
Then I should see "Record ID 3 was successfully assigned to a Data Access Group"

Then I should see "Record Home Page"
And I should see "TestGroup1"

Given I click on the link labeled "Add / Edit Records"
When I select record ID "4" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should see "Record Home Page"

Given I click on the span element labeled "Choose action for record"
And I click on the link labeled "Assign to Data Access Group"
Then I should see a dialog containing the following text: "Assign record to a Data Access Group?"

When I select "TestGroup2" on the dropdown field labeled "Assign record" on the dialog box
And I click on the button labeled "Assign to Data Access Group" in the dialog box
Then I should see "Record ID 4 was successfully assigned to a Data Access Group"

Then I should see "Record Home Page"
And I should see "TestGroup2"

##VERIFY_DE
Given I click on the link labeled "Data Exports, Reports, and Stats"
Then I see a table rows containing the following values in the reports table:
  | A | All data (all records and fields)  |
  | B | Selected instruments and/or events |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Data Access Group |
  | 1         |                   |
  | 2         |                   |
  | 3         | TestGroup1        |
  | 4         | TestGroup2        |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Access%20Groups_10/D.10.700%20-%20Reassign%20record%20to%20another%20DAG.feature

Feature: D.10.700 - The system shall provide the ability to reassign a record from one DAG to another for users with appropriate user rights

As a REDCap end user I want to see that reassign a record from one DAG to another works as expected.

Scenario: D.10.700 - Reassign a record from one DAG to another Given I login to REDCap with the user “Test_Admin” And I create a new project named “D.10.700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/D10700.xml”, and clicking the “Create Project” button

#ACTION: Add Test_User1 with Custom rights
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I should see a dialog containing the following text: "Adding new user"
And I save changes within the context of User Rights

#ACTION: Add Test_User2 with Custom rights
And I enter "Test_User2" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I should see a dialog containing the following text: "Adding new user"
And I save changes within the context of User Rights

#ACTION: Assign Test User1 to TestGroup1
Given I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
When I select "TestGroup1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group |
  | TestGroup1         | test_user1     |
  | TestGroup2         |                |

#ACTION: Assign Test User2 to TestGroup2
When I select "test_user2 (Test User2)" on the dropdown field labeled "Assign user"
When I select "TestGroup2" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group |
  | TestGroup1         | test_user1     |
  | TestGroup2         | test_user2     |

##FUNCTIONAL REQUIREMENT - Reassign record to another DAG
Given I click on the link labeled "Record Status Dashboard" 
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1-1       |
  | 1-2       |
  | 2-1       |
  | 2-2       |    
  
When I select "TestGroup2" on the dropdown field labeled "Displaying Data Access Group"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 2-1       |
  | 2-2       |

When I select "TestGroup1" on the dropdown field labeled "Displaying Data Access Group"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 1-1       |
  | 1-2       |

And I click on the link labeled "1-2"
Then I should see "Record Home Page"
And I click on the span element labeled "Choose action for record"
And I click on the link labeled "Assign to Data Access Group (or unassign/reassign)"
Then I should see a dialog containing the following text: "Assign record to a Data Access Group?"

When I select "TestGroup2" on the dropdown field labeled "Assign record" on the dialog box
And I click on the button labeled "Assign to Data Access Group" in the dialog box
Then I should see "Record ID 1-2 was successfully assigned to a Data Access Group"
And I logout

#VERIFY
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "D.10.700"
And I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID       |
  | 1-2  TestGroup2 |
  | 2-1  TestGroup2 |
  | 2-2  TestGroup2 |

When I click on the link labeled "1-2"
Then I should see "Record Home Page"
And I click on the span element labeled "Choose action for record"
Then I should NOT see "Assign to Data Access Group (or unassign/reassign)"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "D.10.700"
And I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID       |
  | 1-1  TestGroup1 |

And I should NOT see a link labeled "1-2"
When I click on the link labeled "1-1"
Then I should see "Record Home Page"
And I click on the span element labeled "Choose action for record"
Then I should NOT see "Assign to Data Access Group (or unassign/reassign)"
And I logout

Comments:

Comment:

Author: MintooXavier Updated on: 7/1/2024 1:46:47 PM

Comment body:

Script pre-reviewed:

  1. B.2.10.100 - Create Edit Delete
  2. B.2.10.200 - Add Remove Users
  3. B.2.10.300 - Multiple DAGs - Assign user and DAG twice else doesn’t work for me. In branch MX_13.1.37
  4. B.2.10.400 - User and Record Restrictions - Assign user and DAG twice else doesn’t work for me. In branch MX_13.1.37
  5. B.2.10.500 - Assign Records to DAG
  6. B.2.10.600 - Unique DAGs

Comment edits:

Created: 7/1/2024 1:46:47 PM Edited on: 7/1/2024 1:46:47 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script pre-reviewed:

  1. B.2.10.100 - Create Edit Delete
  2. B.2.10.200 - Add Remove Users
  3. B.2.10.300 - Multiple DAGs - Assign user and DAG twice else doesn’t work for me. In branch MX_13.1.37
  4. B.2.10.400 - User and Record Restrictions - Assign user and DAG twice else doesn’t work for me. In branch MX_13.1.37
  5. B.2.10.500 - Assign Records to DAG
  6. B.2.10.600 - Unique DAGs

Created: 7/1/2024 11:37:56 AM Edited on: 7/1/2024 11:37:56 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script pre-reviewed:

  1. B.2.10.100 - Create Edit Delete
  2. B.2.10.200 - Add Remove Users
  3. B.2.10.300 - Multiple DAGs - Assign user and DAG twice else doesn’t work for me. In branch MX_13.1.37
  4. B.2.10.400 - User and Record Restrictions - Assign user and DAG twice else doesn’t work for me, Getting Aw, Snap Error!!
  5. B.2.10.500 - Assign Records to DAG
  6. B.2.10.600 - Unique DAGs

Created: 7/1/2024 11:22:45 AM Edited on: 7/1/2024 11:22:45 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script pre-reviewed:

Created: 7/1/2024 11:22:41 AM Edited on: 7/1/2024 11:22:41 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script pre-reviewed:

Created: 7/1/2024 11:12:39 AM Edited on: 7/1/2024 11:12:39 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script pre-reviewed:

Created: 7/1/2024 11:11:20 AM Edited on: 7/1/2024 11:11:20 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script pre-reviewed:

Created: 7/1/2024 9:29:27 AM Edited on: 7/1/2024 9:29:27 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script pre-reviewed:

Created: 6/28/2024 2:50:19 PM Edited on: 6/28/2024 2:50:19 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script pre-reviewed:

Created: 6/28/2024 11:02:57 AM Edited on: 6/28/2024 11:02:57 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script pre-reviewed:

Created: 6/28/2024 11:02:57 AM Edited on: 6/28/2024 11:01:59 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script pre-reviewed:

  • [ ]

Comment:

Author: MintooXavier Updated on: 7/5/2024 10:23:46 AM

Comment body:

Emailed ATS and RSVC regarding the below scripts:

  1. B.2.10.100 - Create Edit Delete
  1. B.2.10.200 - Add Remove Users

Comment edits:

Created: 7/5/2024 10:23:46 AM Edited on: 7/5/2024 10:23:46 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed ATS and RSVC regarding the below scripts:
1. B.2.10.100 - Create Edit Delete - Added steps to verify logging - Added steps to add user to DAG and verified DAG cannot be deleted - Script modified and pushed to MX_v13.1.37 2. B.2.10.200 - Add Remove Users - Added steps to verify logging - Script modified and pushed to MX_v13.1.37

Created: 7/1/2024 11:25:08 AM Edited on: 7/1/2024 11:25:08 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.2.10.100 - Create Edit Delete
  • Added steps to verify logging
  • Added steps to add user to DAG and verified DAG cannot be deleted
  • Script modified and pushed to MX_v13.1.37
  1. B.2.10.200 - Add Remove Users
  • Added steps to verify logging
  • Script modified and pushed to MX_v13.1.37

Created: 7/1/2024 11:25:08 AM Edited on: 6/28/2024 1:35:51 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.2.10.100 - Create Edit Delete
  • Added steps to verify logging
  • Script modified and pushed to MX_v13.1.37
  1. B.2.10.200 - Add Remove Users
  • Added steps to verify logging
  • Script modified and pushed to MX_v13.1.37

Comment:

Author: MintooXavier Updated on: 7/4/2024 1:57:23 PM

Comment body:

All tests pass

Comment:

Author: phillidgithub Updated on: 7/15/2024 10:39:22 AM

Comment body:

Script post-reviewed:
B.2.10.100 - Create Edit Delete
Test fails on the step Then I should NOT see “RenameGroup3”
Image

Various lines within the script are duplicated

B.2.10.200 - Add Remove Users
Test passes

Various lines within the script are duplicated. Script runs successfully without duplicated rows

Comment:

Author: MintooXavier Updated on: 7/29/2024 1:39:01 PM

Comment body:
  1. Duplicates lines are added intentionally, else it doesn’t work for me. I have mentioned this in the above comments.
  2. ATS team accepted the changes recommended.

Comment:

Author: phillidgithub Updated on: 7/30/2024 2:54:51 PM

Comment body:

B.2.10.100 - Create Edit Delete now passing using rctf package version 1.0.92

Comment:

Author: MintooXavier Updated on: 12/17/2024 11:04:44 AM

Comment body:

D.10.700


Timeline events:

LABELLED | User: MintooXavier Created on: 6/28/2024 9:53:12 AM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 6/28/2024 9:53:12 AM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 6/28/2024 9:53:12 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 6/28/2024 11:01:59 AM Issue comment body:

Script pre-reviewed:

  1. B.2.10.100 - Create Edit Delete
  2. B.2.10.200 - Add Remove Users
  3. B.2.10.300 - Multiple DAGs - Assign user and DAG twice else doesn’t work for me. In branch MX_13.1.37
  4. B.2.10.400 - User and Record Restrictions - Assign user and DAG twice else doesn’t work for me. In branch MX_13.1.37
  5. B.2.10.500 - Assign Records to DAG
  6. B.2.10.600 - Unique DAGs
ISSUE COMMENT | User: MintooXavier Created on: 6/28/2024 1:35:51 PM Issue comment body:

Emailed ATS and RSVC regarding the below scripts:

  1. B.2.10.100 - Create Edit Delete
  1. B.2.10.200 - Add Remove Users

LABELLED | User: MintooXavier Created on: 7/4/2024 12:28:33 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 7/4/2024 1:57:23 PM Issue comment body:

All tests pass

ASSIGNED | User: phillidgithub Created on: 7/15/2024 9:40:58 AM Assignee: phillidgithub

ISSUE COMMENT | User: phillidgithub Created on: 7/15/2024 10:39:22 AM Issue comment body:

Script post-reviewed:
B.2.10.100 - Create Edit Delete
Test fails on the step Then I should NOT see “RenameGroup3”
Image

Various lines within the script are duplicated

B.2.10.200 - Add Remove Users
Test passes

Various lines within the script are duplicated. Script runs successfully without duplicated rows

ISSUE COMMENT | User: MintooXavier Created on: 7/29/2024 1:39:01 PM Issue comment body:
  1. Duplicates lines are added intentionally, else it doesn’t work for me. I have mentioned this in the above comments.
  2. ATS team accepted the changes recommended.

UNLABELLED | User: MintooXavier Created on: 7/29/2024 1:58:23 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: phillidgithub Created on: 7/30/2024 2:54:51 PM Issue comment body:

B.2.10.100 - Create Edit Delete now passing using rctf package version 1.0.92

LABELLED | User: MintooXavier Created on: 11/5/2024 11:59:35 AM Label name: Gherkin Label description: Uses a Gherkin syntax

ISSUE COMMENT | User: MintooXavier Created on: 12/17/2024 11:04:44 AM Issue comment body:

D.10.700

LABELLED | User: MintooXavier Created on: 12/17/2024 11:05:00 AM Label name: PQ Label description:


————— feature ends —————



Feature: 9. Branching Logic

Id: I_kwDOIaOBn86OgDF5 Uid: redcap_cypress-65
Author: MintooXavier Created: 7/4/2024 12:32:49 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/65
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:48:09 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to hide/unhide a field in a CRF based on a condition.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/09_branching_logic.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Branching%20Logic_9/B.4.9.100%20-%20Branching%20Logic.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Branching%20Logic_9/D.9.200%20-%20Branching%20Logc%20with%20Repeating%20Instrument%20and%20Events.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/09_branching_logic.spec

B.4.9.100 - User Interface: The system shall support branching logic for data entry forms.
D.9.200 - The system shall support branching logic from data entry forms of repeating events/instruments.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Branching%20Logic_9/B.4.9.100%20-%20Branching%20Logic.feature

Feature: User Interface: The system shall support branching logic for data entry forms.

As a REDCap end user I want to see that Branching Logic is functioning as expected

Scenario: B.4.9.100.100 Branching Logic #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.4.9.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_4.9.xml”, and clicking the “Create Project” button

##VERIFY: Branching logic
When I click on the link labeled "Designer"
And I click on the instrument labeled "Data Types"
Then I should see "Branching logic: [record_id] = '999'" within the field with variable name "ptname"
Then I should see "Branching logic: [record_id] = '999'" within the field with variable name "textbox"
Then I should see "Branching logic: [record_id] = '999'" within the field with variable name "text2"
Then I should see "Branching logic: [record_id] = '999'" within the field with variable name "notesbox"

#FUNCTIONAL_REQUIREMENT: survey mode
When I click on the link labeled "Survey Distribution Tools"
And I click on the button labeled "Open public survey"
Then I should NOT see the field labeled "Name"
And I should NOT see the field labeled "Text2"
And I should NOT see the field labeled "Text box"
And I should NOT see the field labeled "Notes box"
And I should see the field labeled "Calculated Field"
And I should see the field labeled "Multiple Choice dropdown Auto"
And I should see the field labeled "Multiple Choice Dropdown Manual"
#M: Close the survey page

#FUNCTIONAL_REQUIREMENT: data entry mode
Given I return to the REDCap page I opened the survey from
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"

#MANUAL: These confirmation windows are automatically accepted on automated side
Then I should see an alert box with the following text: 'ERASE THE VALUE OF THE FIELD "ptname" ?'
#And I click the button labeled "OK" in the alert box
Then I should see an alert box with the following text: 'ERASE THE VALUE OF THE FIELD "textbox" ?'
#And I click the button labeled "OK" in the alert box
Then I should see an alert box with the following text: 'ERASE THE VALUE OF THE FIELD "text2" ?'
#And I click the button labeled "OK" in the alert box
Then I should see an alert box with the following text: 'ERASE THE VALUE OF THE FIELD "notesbox" ?'
#And I click the button labeled "OK" in the alert box

Then I should NOT see the field labeled "Name"
And I should NOT see the field labeled "Text2"
And I should NOT see the field labeled "Text box"
And I should NOT see the field labeled "Notes box"
And I should see the field labeled "Calculated Field"
And I should see the field labeled "Multiple Choice dropdown Auto"
And I should see the field labeled "Multiple Choice Dropdown Manual"

##ACTION: change branching logic
When I click on the link labeled "Designer"
And I click on the button labeled "Leave without saving changes" in the dialog box
And I click on the instrument labeled "Data Types"
And I click on the Branching Logic icon for the variable "ptname"
And I click on "[record_id] = '999'" in the textarea field labeled "Advanced Branching Logic Syntax" in the dialog box
And I clear field and enter "[record_id] <> '999'" in the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see a dialog containing the following text: "Also edit Branching Logic for OTHER fields?"
And I click on the button labeled "No" in the dialog box
Then I should see "Branching logic: [record_id] <> '999'" within the field with variable name "ptname"

##ACTION: change branching logic
When I click on the Branching Logic icon for the variable "text2"
And I click on "[record_id] = '999'" in the textarea field labeled "Advanced Branching Logic Syntax" in the dialog box
And I clear field and enter "[record_id] <> '999'" in the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see a dialog containing the following text: "Also edit Branching Logic for OTHER fields?"
And I click on the button labeled "Yes" in the dialog box
Then I should see "Branching logic: [record_id] <> '999'" within the field with variable name "text2"

#FUNCTIONAL_REQUIREMENT: survey mode
When I click on the link labeled "Survey Distribution Tools"
When I click on the button labeled "Open public survey" and will leave the tab open when I return to the REDCap project
Then I should see "Please complete the survey below."
And I should see the field labeled "Name"
And I should see the field labeled "Text2"
And I should see the field labeled "Text box"
And I should see the field labeled "Notes box"
And I should see the field labeled "Calculated Field"
And I should see the field labeled "Multiple Choice dropdown Auto"
And I should see the field labeled "Multiple Choice Dropdown Manual"
#M: Close tab

#FUNCTIONAL_REQUIREMENT: data entry mode
Given I return to the REDCap page I opened the survey from
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see the field labeled "Name"
And I should see the field labeled "Text2"
And I should see the field labeled "Text box"
And I should see the field labeled "Notes box"
And I should see the field labeled "Calculated Field"
And I should see the field labeled "Multiple Choice dropdown Auto"
And I should see the field labeled "Multiple Choice Dropdown Manual"

##ACTION
When I click on the link labeled "Designer"
And I click on the button labeled "Leave without saving changes" in the dialog box
And I click on the instrument labeled "Data Types"
And I click on the Branching Logic icon for the variable "descriptive_text_file"
And I click on the radio labeled exactly "Drag-N-Drop Logic Builder" in the dialog box
Then I should see "Displaying field choices for the following data collection instrument" in the dialog box

Given I drag the field choice labeled "radio_button_manual = Choice101 (101)" to the box labeled "Show the field ONLY if..."
And I click on the button labeled "Save" in the Add/Edit Branching Logic dialog box
Then I should see "Branching logic: [radio_button_manual] = '101'" within the field with variable name "descriptive_text_file"

Given I click on the Branching Logic icon for the variable "required"
And I click on the radio labeled exactly "Drag-N-Drop Logic Builder" in the dialog box
Then I should see "Displaying field choices for the following data collection instrument" in the dialog box

Given I drag the field choice labeled "checkbox = Checkbox3 (3)" to the box labeled "Show the field ONLY if..."
And I click on the button labeled "Save" in the Add/Edit Branching Logic dialog box
Then I should see "Branching logic: [checkbox(3)] = '1'" within the field with variable name "required"

#FUNCTIONAL_REQUIREMENT: survey mode
When I click on the link labeled "Survey Distribution Tools"
And I click on the button labeled "Open public survey"
And I select the radio option "Choice101" for the field labeled "Radio Button Manual"
Then I should see the field labeled "Descriptive Text with File"

When I select the radio option "Choice99" for the field labeled "Radio Button Manual"
Then I should NOT see the field labeled "Descriptive Text with File"

When I check the checkbox labeled "Checkbox3"
Then I should see the field labeled "Required"

When I uncheck the checkbox labeled "Checkbox3"
Then I should NOT see the field labeled "Required"
#M: Close the survey page

##VERIFY_LOG
Given I return to the REDCap page I opened the survey from
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Add/edit branching logic                |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Branching%20Logic_9/D.9.200%20-%20Branching%20Logc%20with%20Repeating%20Instrument%20and%20Events.feature

Feature: D.9.200 - The system shall support branching logic from data entry forms of repeating events/instruments.

As a REDCap end user
I want to see that branching logic from data entry forms of repeating events/instruments is functioning as expected

Scenario: D.27.800

Given I login to REDCap with the user "Test_User1"
And I create a new project named "D.27.800" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/D27800.xml", and clicking the "Create Project" button

##VERIFY: Branching logic
When I click on the link labeled "Designer"
And I click on the instrument labeled "Data Types"
#Branching Logic with repeating events
And I click on the Branching Logic icon for the variable "textbox"
And I click on "'" in the textarea field labeled "Advanced Branching Logic Syntax" in the dialog box
And I clear field and enter '[event_2_arm_1][name][2] != ""' in the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see 'Branching logic: [event_2_arm_1][name][2] != ""' within the field with variable name "textbox"

#Branching Logic with repeating instrument
And I click on the Branching Logic icon for the variable "text2"
And I click on "'" in the textarea field labeled "Advanced Branching Logic Syntax" in the dialog box
And I clear field and enter '[event_three_arm_1][name][3] != ""' in the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" in the dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see 'Branching logic: [event_three_arm_1][name][3] != ""' within the field with variable name "text2"

#VERIFY - Branching Logic
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "text box" in the data entry form field "Text box"
And I should NOT see "Text2"

#VERIFY - Branching Logic
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2" and click on the bubble
Then I should NOT see "Text box"
And I should see "text2" in the data entry form field "Text2"
And I logout

Comments:

Comment:

Author: MintooXavier Updated on: 7/4/2024 1:53:16 PM

Comment body:

Pre-review completed.
Test not passed

Comment:

Author: MintooXavier Updated on: 7/18/2024 12:28:31 PM

Comment body:

Test passes after merging changes from Adam’s redcap_cypress repo


Timeline events:

LABELLED | User: MintooXavier Created on: 7/4/2024 12:32:49 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/4/2024 12:32:49 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/4/2024 12:32:49 PM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 7/4/2024 1:53:16 PM Issue comment body:

Pre-review completed.
Test not passed

ASSIGNED | User: MintooXavier Created on: 7/4/2024 2:22:56 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/18/2024 12:28:31 PM Issue comment body:

Test passes after merging changes from Adam’s redcap_cypress repo


————— feature ends —————



Feature: 8. Field Validation

Id: I_kwDOIaOBn86PXL2M Uid: redcap_cypress-69
Author: MintooXavier Created: 7/12/2024 10:07:39 AM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/69
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:47:19 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to test the different data types (i.e. Date, Integer, Email etc) and the min/max applied to each type.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/08_field_validation.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Field%20Validation_8/A.4.8.100%20-%20Enable%20field%20validation.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Field%20Validation_8/B.4.8.200%20-%20Text%20Validation.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Field%20Validation_8/B.4.8.300%20-%20Field%20Ranges.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/08_field_validation.spec

A.4.8.100 - Control Center: The system shall support the enabling/disabling of field validation types. (Date (Y-M-D) | Datetime (Y-M-D H:M) | Datetime w/seconds (Y-M-D H:M:S) | Email | Integer | Number | Number (1 decimal place - comma as decimal) | Time (HH:MM))
B.4.8.200 - User Interface: The system shall support text validation for text field types: Date (Y-M-D) | Datetime (Y-M-D H:M) | Datetime w/seconds (Y-M-D H:M:S) | Email | Integer | Numbers | Number (1 decimal place - comma as decimal) | Time (HH:MM) | Time (MM:SS) | Time (HH:MM:SS)
B.4.8.300 - User Interface: The system shall support ranges for the following data types: Date (Y-M-D) | Datetime (Y-M-D H:M) | Datetime w/seconds (Y-M-D H:M:S) | Integer | Number | Number (1 Decimal Place, comma as decimal) | Time (HH:MM) | Time (MM:SS) | Time (HH:MM:SS)

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Field%20Validation_8/A.4.8.100%20-%20Enable%20field%20validation.feature

Feature: Control Center: The system shall support the enabling/disabling of field validation types. (Date (Y-M-D) | Datetime (Y-M-D H:M) | Datetime w/seconds (Y-M-D H:M:S) | Email | Integer | Number | Number (1 decimal place - comma as decimal) | Time (HH:MM))

As a REDCap end user I want to see that Field validation is functioning as expected

Scenario: A.4.8.100.100 Control center Enable/disable field validation #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “A.4.8.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation Disable
When I click on the link labeled "Control Center"
And I click on the link labeled "Field Validation Types"
Then I should see "Validation Types Currently Available for Use in All Projects"

When I click on the button labeled "Disable" in the validation row labeled "Date (D-M-Y)"
Then I should see the "disabled icon" in the validation row labeled "Date (D-M-Y)"

When I click on the button labeled "Disable" in the validation row labeled "Datetime (M-D-Y H:M)"
Then I should see the "disabled icon" in the validation row labeled "Datetime (M-D-Y H:M)"

When I click on the button labeled "Disable" in the validation row labeled "Datetime w/ seconds (Y-M-D H:M:S)"
Then I should see the "disabled icon" in the validation row labeled "Datetime w/ seconds (Y-M-D H:M:S)"

When I click on the button labeled "Disable" in the validation row labeled "Email"
Then I should see the "disabled icon" in the validation row labeled "Email"

When I click on the button labeled "Disable" in the validation row labeled "Integer"
Then I should see the "disabled icon" in the validation row labeled "Integer"

When I click on the button labeled "Disable" in the validation row labeled "Number"
Then I should see the "disabled icon" in the validation row labeled "Number"

# ATS : Step below skipped because already disabled by the default install of REDCap ...
#And I click on the button labeled "Disable" in the validation row labeled "Number (1 decimal place - comma as decimal)"
And I should see the "disabled icon" in the validation row labeled "Number (1 decimal place - comma as decimal)"

When I click on the button labeled "Disable" in the validation row labeled "Time (HH:MM)"
Then I should see the "disabled icon" in the validation row labeled "Time (HH:MM)"


##VERIFY: options not available on validation dropdown field
When I click on the link labeled "My Projects"
And I click on the link labeled "A.4.8.100.100"
And I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode."
When I click on the instrument labeled "Data Types"
And I click on the first button labeled "Add Field"

# MANUAL NOTE : You should NOT see the following options in the "Validation?" dropdown (because we disabled them in steps above):
# - Date (D-M-Y)  
# - Datetime (M-D-Y H:M)  
# - Datetime w/seconds (Y-M-D H:M:S)
# - Email 
# - Integer 
# - Number
# - Number (1 decimal place - comma as decimal)
# - Time (HH:MM)
When I select "Text Box (Short Text, Number, Date/Time, ...)" on the dropdown field labeled "Field Type:" in the dialog box
Then I should see the dropdown field labeled "Validation?" with the options below
  | ---- None ----                    |
  | Date (M-D-Y)                      |
  | Date (Y-M-D)                      |
  | Datetime (D-M-Y H:M)              |
  | Datetime (Y-M-D H:M)              |
  | Datetime w/ seconds (D-M-Y H:M:S) |
  | Datetime w/ seconds (M-D-Y H:M:S) |
  | Phone (North America)             |
  | Time (HH:MM:SS)                   |
  | Zipcode (U.S.)                    |
And I click on the button labeled "Cancel" on the dialog box

#SETUP
Given I click on the link labeled "Control Center"
And I click on the link labeled "Field Validation Types"
Then I should see "Validation Types Currently Available for Use in All Projects"

When I click on the button labeled "Enable" in the validation row labeled "Date (D-M-Y)"
Then I should see the "checkmark icon" in the validation row labeled "Date (D-M-Y)"

When I click on the button labeled "Enable" in the validation row labeled "Datetime (M-D-Y H:M)"
Then I should see the "checkmark icon" in the validation row labeled "Datetime (M-D-Y H:M)"

When I click on the button labeled "Enable" in the validation row labeled "Datetime w/ seconds (Y-M-D H:M:S)"
Then I should see the "checkmark icon" in the validation row labeled "Datetime w/ seconds (Y-M-D H:M:S)"

When I click on the button labeled "Enable" in the validation row labeled "Email"
Then I should see the "checkmark icon" in the validation row labeled "Email"

When I click on the button labeled "Enable" in the validation row labeled "Integer"
Then I should see the "checkmark icon" in the validation row labeled "Integer"

When I click on the button labeled "Enable" in the validation row labeled "Number"
Then I should see the "checkmark icon" in the validation row labeled "Number"

When I click on the button labeled "Enable" in the validation row labeled "Number (1 decimal place - comma as decimal)"
Then I should see the "checkmark icon" in the validation row labeled "Number (1 decimal place - comma as decimal)"

When I click on the button labeled "Enable" in the validation row labeled "Time (HH:MM)"
Then I should see the "checkmark icon" in the validation row labeled "Time (HH:MM)"

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation Enable
##VERIFY: options are available on validation dropdown field

When I click on the link labeled "My Projects"
And I click on the link labeled "A.4.8.100.100"
And I click on the link labeled "Designer"
And I click on the instrument labeled "Data Types"
And I click on the first button labeled "Add Field"

When I select "Text Box (Short Text, Number, Date/Time, ...)" on the dropdown field labeled "Field Type:" in the dialog box
Then I should see the dropdown field labeled "Validation?" with the options below
  | ---- None ----                              |
  | Date (D-M-Y)                                |
  | Date (M-D-Y)                                |
  | Date (Y-M-D)                                |
  | Datetime (D-M-Y H:M)                        |
  | Datetime (M-D-Y H:M)                        |
  | Datetime (Y-M-D H:M)                        |
  | Datetime w/ seconds (D-M-Y H:M:S)           |
  | Datetime w/ seconds (M-D-Y H:M:S)           |
  | Datetime w/ seconds (Y-M-D H:M:S)           |
  | Email                                       |
  | Integer                                     |
  | Number                                      |
  | Number (1 decimal place - comma as decimal) |
  | Phone (North America)                       |
  | Time (HH:MM:SS)                             |
  | Time (HH:MM)                                |
  | Zipcode (U.S.)                              |
And I click on the button labeled "Cancel" on the dialog box

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Field%20Validation_8/B.4.8.200%20-%20Text%20Validation.feature

Feature: User Interface: The system shall support text validation for text field types: Date (Y-M-D) | Datetime (Y-M-D H:M) | Datetime w/seconds (Y-M-D H:M:S) | Email | Integer | Numbers | Number (1 decimal place - comma as decimal) | Time (HH:MM) | Time (MM:SS) | Time (HH:MM:SS)

As a REDCap end user I want to see that Field validation is functioning as expected

Scenario: B.4.8.200.100 Field validation type #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.4.8.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_4.8.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.4.8.200.100”

#SETUP _PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label       | Field Attributes                                                                |
  | [date_ymd]            | date YMD          | text (date_ymd, Min: 2023-08-01, Max: 2023-08-31)                               |
  | [datetime_ymd_hm]     | Datetime          | text (datetime_ymd, Min: 2023-09-01 01:01, Max: 2023-09-30 01:59)               |
  | [datetime_ymd_hmss  ] | Datetime YMD HMSS | text (datetime_seconds_ymd, Min: 2023-09-01 11:01:01, Max: 2023-09-30 11:01:01) |
  | [email]               | Email             | text (email)                                                                    |
  | [integer]             | Integer           | text (integer, Min: 1, Max: 100)                                                |
  | [number]              | Number            | text (number, Min: 1, Max: 5)                                                   |
  | [number_dec]          | Number Decimal    | text (number_1dp, Min: 1.0, Max: 5.0)                                           |
  | [num_comma]           | Number Comma      | text (number_1dp_comma_decimal, Min: 1,0, Max: 2,0)                             |
  | [time_hhmm]           | Time HH:MM        | text (time, Min: 08:05, Max: 23:00)                                             |
  | [time_mm_ss]          | Time MM:SS        | text (time_mm_ss, Min: 02:01, Max: 59:00)                                       |
  | [time_hhmmss]         | Time HH:MM:SS     | text (time_hh_mm_ss, Min: 8:01:01, Max: 23:00:00)                               |

##ACTION:
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 5."

#FUNCTIONAL REQUIREMENT: field validation with accurate selection
When I enter "2023-08-02" into the data entry form field labeled "date YMD"
And I enter "2023-09-02 01:03" into the data entry form field labeled "Datetime"
And I enter "2023-09-02 01:03:01" into the data entry form field labeled "Datetime YMD HMSS"
And I enter "99" into the data entry form field labeled "Integer"
And I enter "4" into the data entry form field labeled "Number"
And I enter "1.5" into the data entry form field labeled "Number Decimal"
And I enter "1,5" into the data entry form field labeled "Number Comma"
And I enter "08:10" into the data entry form field labeled "Time HH:MM"
And I enter "02:05" into the data entry form field labeled "Time MM:SS"
And I enter "08:59:59" into the data entry form field labeled "Time HH:MM:SS"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see "Record ID 5 successfully edited."

When I click on the link labeled "Text Validation"
Then I should see "Editing existing Record ID 5"

When I enter "email@test.edu" into the data entry form field labeled "Email"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see "Record ID 5 successfully edited."

##VERIFY_LOG
When I click on the link labeled "Logging"

And I click on the button labeled “Leave without saving changes” in the dialog box

Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action          | List of Data Changes OR Fields Exported   |
  | test_admin | Update record 5 | email = 'email@test.edu'                  |
  | test_admin | Create record 5 | date_ymd = '2023-08-02'                   |
  | test_admin | Create record 5 | datetime_ymd_hm = '2023-09-02 01:03'      |
  | test_admin | Create record 5 | datetime_ymd_hmss = '2023-09-02 01:03:01' |
  | test_admin | Create record 5 | integer = '99'                            |
  | test_admin | Create record 5 | number = '4'                              |
  | test_admin | Create record 5 | number_dec = '1.5'                        |
  | test_admin | Create record 5 | num_comma = '1,5'                         |
  | test_admin | Create record 5 | time_hhmm = '08:10'                       |
  | test_admin | Create record 5 | time_mm_ss = '02:05'                      |
  | test_admin | Create record 5 | time_hhmmss = '08:59:59'                  |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | date YMD   | Datetime         | Datetime YMD HMSS   | Integer | Number |
  | 5         | Data Types        | 2023-08-02 | 2023-09-02 01:03 | 2023-09-02 01:03:01 | 99      | 4      |

Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Number Decimal | Number Comma | Time HH:MM | Time MM:SS | Time HH:MM:SS |
  | 5         | Data Types        | 1.5            | 1,5          | 08:10      | 02:05      | 08:59:59      |

Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Email          |
  | 5         | email@test.edu |

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation with out of range values (works)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 6"

When I enter "2023-09-01" into the data entry form field labeled "date YMD"
And I should see a dialog containing the following text: "The value you provided is outside the suggested range (2023-08-01 - 2023-08-31). This value is admissible, but you may wish to double check it."
And I click on the button labeled "Close" in the dialog box

When I enter "2023-08-02 01:03" into the data entry form field labeled "Datetime"
And I should see a dialog containing the following text: "The value you provided is outside the suggested range (2023-09-01 01:01 - 2023-09-30 01:59). This value is admissible, but you may wish to double check it."
And I click on the button labeled "Close" in the dialog box

When I enter "2023-10-02 01:03:01" into the data entry form field labeled "Datetime YMD HMSS"
And I should see a dialog containing the following text: "The value you provided is outside the suggested range (2023-09-01 11:01:01 - 2023-09-30 11:01:01). This value is admissible, but you may wish to double check it."
And I click on the button labeled "Close" in the dialog box

When I enter "101" into the data entry form field labeled "Integer"
And I should see a dialog containing the following text: "The value you provided is outside the suggested range (1 - 100). This value is admissible, but you may wish to double check it."
And I click on the button labeled "Close" in the dialog box

When I enter "6" into the data entry form field labeled "Number"
And I should see a dialog containing the following text: "The value you provided is outside the suggested range (1 - 5). This value is admissible, but you may wish to double check it."
And I click on the button labeled "Close" in the dialog box

When I enter "5.1" into the data entry form field labeled "Number Decimal"
And I should see a dialog containing the following text: "The value you provided is outside the suggested range (1.0 - 5.0). This value is admissible, but you may wish to double check it."
And I click on the button labeled "Close" in the dialog box

When I enter "5,1" into the data entry form field labeled "Number Comma"
And I should see a dialog containing the following text: "The value you provided is outside the suggested range (1,0 - 2,0). This value is admissible, but you may wish to double check it."
And I click on the button labeled "Close" in the dialog box

When I enter "07:05" into the data entry form field labeled "Time HH:MM"

And I should see a dialog containing the following text: "The value you provided is outside the suggested range (08:05 - 23:00). This value is admissible, but you may wish to double check it."
And I click on the button labeled "Close" in the dialog box

When I enter "01:59" into the data entry form field labeled "Time MM:SS"
And I should see a dialog containing the following text: "The value you provided is outside the suggested range (02:01 - 59:00). This value is admissible, but you may wish to double check it."
And I click on the button labeled "Close" in the dialog box

When I enter "07:59:59" into the data entry form field labeled "Time HH:MM:SS"
And I should see a dialog containing the following text: "The value you provided is outside the suggested range (08:01:01 - 23:00:00). This value is admissible, but you may wish to double check it."
When I click on the button labeled "Close" in the dialog box

And I click on the button labeled "Save & Exit Form"
Then I should see "Record ID 6 successfully added."

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action          | List of Data Changes OR Fields Exported   |
  | test_admin | Create record 6 | date_ymd = '2023-09-01'                   |
  | test_admin | Create record 6 | datetime_ymd_hm = '2023-08-02 01:03'      |
  | test_admin | Create record 6 | datetime_ymd_hmss = '2023-10-02 01:03:01' |
  | test_admin | Create record 6 | integer = '101'                           |
  | test_admin | Create record 6 | number = '6'                              |
  | test_admin | Create record 6 | number_dec = '5.1'                        |
  | test_admin | Create record 6 | num_comma = '5,1'                         |
  | test_admin | Create record 6 | time_hhmm = '07:05'                       |
  | test_admin | Create record 6 | time_mm_ss = '01:59'                      |
  | test_admin | Create record 6 | time_hhmmss = '07:59:59'                  |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | date YMD   | Datetime         | Datetime YMD HMSS   | Integer | Number |
  | 6         | Data Types        | 2023-09-01 | 2023-08-02 01:03 | 2023-10-02 01:03:01 | 101     | 6      |

And I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Number Decimal | Number Comma | Time HH:MM | Time MM:SS | Time HH:MM:SS |
  | 6         | Data Types        | 5.1            | 5,1          | 07:05      | 01:59      | 07:59:59      |

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation with characters (will not work)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 7."

When I enter "TEST" into the data entry form field labeled "date YMD"
And I should see a dialog containing the following text: "The value you provided could not be validated because it does not follow the expected format. Please try again.Required format: Date (Y-M-D)"
And I click on the button labeled "Close" in the dialog box

When I clear field and enter "" into the data entry form field labeled "date YMD"
And I clear field and enter "TEST" into the data entry form field labeled "Datetime"
And I should see a dialog containing the following text: "The value you provided could not be validated because it does not follow the expected format. Please try again.Required format: Datetime (Y-M-D H:M)"
And I click on the button labeled "Close" in the dialog box

When I clear field and enter "" into the data entry form field labeled "Datetime"
When I clear field and enter "Test" into the data entry form field labeled "Datetime YMD HMSS"
And I should see a dialog containing the following text: "The value you provided could not be validated because it does not follow the expected format. Please try again.Required format: Datetime w/ seconds (Y-M-D H:M:S)"
And I click on the button labeled "Close" in the dialog box

When I clear field and enter "" into the data entry form field labeled "Datetime YMD HMSS"
When I clear field and enter "TEST" into the data entry form field labeled "Integer"
And I should see a dialog containing the following text: "This value you provided is not an integer. Please try again."
And I click on the button labeled "Close" in the dialog box

When I clear field and enter "" into the data entry form field labeled "Integer"
When I clear field and enter "TEST" into the data entry form field labeled "Number"
And I should see a dialog containing the following text: "This value you provided is not a number. Please try again."
And I click on the button labeled "Close" in the dialog box

When I clear field and enter "" into the data entry form field labeled "Number"
When I clear field and enter "TEST" into the data entry form field labeled "Number Decimal"
And I should see a dialog containing the following text: "The value you provided could not be validated because it does not follow the expected format. Please try again.Required format: Number (1 decimal place)"
And I click on the button labeled "Close" in the dialog box

When I clear field and enter "" into the data entry form field labeled "Number Decimal"
When I clear field and enter "TEST" into the data entry form field labeled "Number Comma"
And I should see a dialog containing the following text: "The value you provided could not be validated because it does not follow the expected format. Please try again.Required format: Number (1 decimal place - comma as decimal)"
And I click on the button labeled "Close" in the dialog box

When I clear field and enter "" into the data entry form field labeled "Number Comma"
When I clear field and enter "TEST" into the data entry form field labeled "Time HH:MM"
And I should see a dialog containing the following text: "The value entered must be a time value in the following format HH:MM within the range 00:00-23:59 (e.g., 04:32 or 23:19)."
And I click on the button labeled "Close" in the dialog box

When I clear field and enter "" into the data entry form field labeled "Time HH:MM"
When I clear field and enter "TEST" into the data entry form field labeled "Time MM:SS"
And I should see a dialog containing the following text: "The value you provided could not be validated because it does not follow the expected format. Please try again.Required format: Time (MM:SS)"
And I click on the button labeled "Close" in the dialog box

When I clear field and enter "" into the data entry form field labeled "Time MM:SS"
When I clear field and enter "TEST" into the data entry form field labeled "Time HH:MM:SS"
And I should see a dialog containing the following text: "The value you provided could not be validated because it does not follow the expected format. Please try again.Required format: Time (HH:MM:SS)"
And I click on the button labeled "Close" in the dialog box

When I clear field and enter "" into the data entry form field labeled "Time HH:MM:SS"
And I enter "TEST" into the data entry form field labeled "Email"
And I should see a dialog containing the following text: "This field must be a valid email address (like joe@user.com). Please re-enter it now."
And I click on the button labeled "Close" in the dialog box
When I clear field and enter "" into the data entry form field labeled "Email"

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "Leave without saving changes" in the dialog box
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | date YMD | Datetime | Datetime YMD HMSS | Integer | Number |
  | 7         | Data Types        |          |          |                   |         |        |

Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Number Decimal | Number Comma | Time HH:MM | Time MM:SS | Time HH:MM:SS |
  | 7         | Data Types        |                |              |            |            |               |

Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Name | Email |
  | 7         | Name |       |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Field%20Validation_8/B.4.8.300%20-%20Field%20Ranges.feature

Feature: User Interface: The system shall support ranges for the following data types: Date (Y-M-D) | Datetime (Y-M-D H:M) | Datetime w/seconds (Y-M-D H:M:S) | Integer | Number | Number (1 Decimal Place, comma as decimal) | Time (HH:MM) | Time (MM:SS) | Time (HH:MM:SS)

As a REDCap end user I want to see that Field validation is functioning as expected

Scenario: B.4.8.300.100 Field range validation

#SETUP VALIDATION TYPES
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "Field Validation Types"

#BUTTONS ARE TOGGLES - LABEL IS OPPOSITE OF CURRENT STATE
Then I should see "Validation Types Currently Available for Use in All Projects"
When I click on the button labeled "Enable" in the validation row labeled "Time (MM:SS)"
Then I should see a button labeled "Disable" in the validation row labeled "Time (MM:SS)"

When I click on the button labeled "Enable" in the validation row labeled "Number (1 decimal place - comma as decimal)"
Then I should see a button labeled "Disable" in the validation row labeled "Number (1 decimal place - comma as decimal)"

When I click on the button labeled "Enable" in the validation row labeled "Number (1 decimal place)"
Then I should see a button labeled "Disable" in the validation row labeled "Number (1 decimal place)"

#SETUP_PRODUCTION PROJECT
Given I create a new project named "B.4.8.300.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_4.8.xml", and clicking the "Create Project" button
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP_DRAFT MODE
When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

## ACTION:M date YMD validation
When I click on the instrument labeled "Data Types"

And I click on the Edit image for the field named "date YMD"
And I should see the dropdown field labeled "Validation?" with the option "Date (Y-M-D)" selected in the dialog box
And I verify "2023-08-01" is within the input field labeled "Minimum" in the dialog box
And I verify "2023-08-31" is within the input field labeled "Maximum" in the dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

## ACTION:M Datetime validation
When I click on the Edit image for the field named "Datetime"
Then I should see the dropdown field labeled "Validation?" with the option "Datetime (Y-M-D H:M)" selected in the dialog box
And I verify "2023-09-01 01:01" is within the input field labeled "Minimum" in the dialog box
And I verify "2023-09-30 01:59" is within the input field labeled "Maximum" in the dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

## ACTION:M Datetime YMD HMSS validation
When I click on the Edit image for the field named "Datetime YMD HMSS"
Then I should see the dropdown field labeled "Validation?" with the option "Datetime w/ seconds (Y-M-D H:M:S)" selected in the dialog box
And I verify "2023-09-01 11:01:01" is within the input field labeled "Minimum" in the dialog box
And I verify "2023-09-30 11:01:01" is within the input field labeled "Maximum" in the dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

## ACTION:M Time HH:MM validation
When I click on the Edit image for the field named "Time HH:MM"
Then I should see the dropdown field labeled "Validation?" with the option "Time (HH:MM)" selected in the dialog box
And I verify "08:05" is within the input field labeled "Minimum" in the dialog box
And I verify "23:00" is within the input field labeled "Maximum" in the dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

## ACTION:M Time HH:MM:SS validation
When I click on the Edit image for the field named "Time HH:MM:SS"
Then I should see the dropdown field labeled "Validation?" with the option "Time (HH:MM:SS)" selected in the dialog box
And I verify "08:01:01" is within the input field labeled "Minimum" in the dialog box
And I verify "23:00:00" is within the input field labeled "Maximum" in the dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

## ACTION:M Time MM:SS validation
When I click on the Edit image for the field named "Time MM:SS"
Then I should see the dropdown field labeled "Validation?" with the option "Time (MM:SS)" selected in the dialog box
And I verify "02:01" is within the input field labeled "Minimum" in the dialog box
And I verify "59:00" is within the input field labeled "Maximum" in the dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

## ACTION:M Integer validation
When I click on the Edit image for the field named "Integer"
Then I should see the dropdown field labeled "Validation?" with the option "Integer" selected in the dialog box
And I verify "1" is within the input field labeled "Minimum" in the dialog box
And I verify "100" is within the input field labeled "Maximum" in the dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

## ACTION:M Number validation
When I click on the Edit image for the field named "Number"
Then I should see the dropdown field labeled "Validation?" with the option "Number" selected in the dialog box
And I verify "1" is within the input field labeled "Minimum" in the dialog box
And I verify "5" is within the input field labeled "Maximum" in the dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

## ACTION:M Number 1 Decimal validation
When I click on the Edit image for the field named "Number Decimal"
Then I should see the dropdown field labeled "Validation?" with the option "Number (1 decimal place)" selected in the dialog box
And I verify "1" is within the input field labeled "Minimum" in the dialog box
And I verify "5" is within the input field labeled "Maximum" in the dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

## ACTION:M Number Comma validation
When I click on the Edit image for the field named "Number Comma"
Then I should see the dropdown field labeled "Validation?" with the option "Number (1 decimal place - comma as decimal)" selected in the dialog box
And I verify "1,0" is within the input field labeled "Minimum" in the dialog box
And I verify "2,0" is within the input field labeled "Maximum" in the dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation within range text
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 5.(Instance #1)"

When I enter "2023-08-02" into the data entry form field labeled "date YMD"
And I enter "2023-09-02 12:12" into the data entry form field labeled "Datetime"
And I enter "2023-09-02 12:12:12" into the data entry form field labeled "Datetime YMD HMSS"
And I enter "11:11" into the data entry form field labeled "Time HH:MM"
And I enter "11:11:11" into the data entry form field labeled "Time HH:MM:SS"
And I enter "11:11" into the data entry form field labeled "Time MM:SS"
And I enter "3" into the data entry form field labeled "Integer"
And I enter "3" into the data entry form field labeled "Number"
And I enter "1.5" into the data entry form field labeled "Number Decimal"
And I enter "1,5" into the data entry form field labeled "Number Comma"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 5 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                  | List of Data Changes OR Fields Exported   |
  | test_admin | Create record5 (Event 1 (Arm 1: Arm 1)) | date_ymd = '2023-08-02'                   |
  | test_admin | Create record5 (Event 1 (Arm 1: Arm 1)) | datetime_ymd_hm = '2023-09-02 12:12'      |
  | test_admin | Create record5 (Event 1 (Arm 1: Arm 1)) | datetime_ymd_hmss = '2023-09-02 12:12:12' |
  | test_admin | Create record5 (Event 1 (Arm 1: Arm 1)) | integer = '3'                             |
  | test_admin | Create record5 (Event 1 (Arm 1: Arm 1)) | number = '3'                              |
  | test_admin | Create record5 (Event 1 (Arm 1: Arm 1)) | number_dec = '1.5'                        |
  | test_admin | Create record5 (Event 1 (Arm 1: Arm 1)) | num_comma = '1,5'                         |
  | test_admin | Create record5 (Event 1 (Arm 1: Arm 1)) | time_hhmm = '11:11'                       |
  | test_admin | Create record5 (Event 1 (Arm 1: Arm 1)) | time_mm_ss = '11:11'                      |
  | test_admin | Create record5 (Event 1 (Arm 1: Arm 1)) | time_hhmmss = '11:11:11'                  |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | date YMD   | Datetime         | Datetime YMD HMSS   | Integer | Number |
  | 5         | Data Types        | 2023-08-02 | 2023-09-02 12:12 | 2023-09-02 12:12:12 | 3       | 3      |

And I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Number Decimal | Number Comma | Time HH:MM | Time MM:SS | Time HH:MM:SS |
  | 5         | Data Types        | 1.5            | 1,5          | 11:11      | 11:11      | 11:11:11      |

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside lower bound (date YMD)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"

And I enter "2022-08-02" into the data entry form field labeled "date YMD"
Then I should see "The value you provided is outside the suggested range (2023-08-01 - 2023-08-31). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 6 successfully added"

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                  | List of Data Changes OR Fields Exported |
  | test_admin | Create record6 (Event 1 (Arm 1: Arm 1)) | date_ymd = '2022-08-02'                 |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | date YMD   |
  | 6         | Data Types        | 2022-08-02 |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside lower bound (Datetime)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "2022-08-02 12:12" into the data entry form field labeled "Datetime"
Then I should see "The value you provided is outside the suggested range (2023-09-01 01:01 - 2023-09-30 01:59). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 7 successfully added."

# And I want to export a snapshot of this feature here

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                  | List of Data Changes OR Fields Exported |
  | test_admin | Create record7 (Event 1 (Arm 1: Arm 1)) | datetime_ymd_hm = '2022-08-02 12:12'    |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Datetime         |
  | 7         | Data Types        | 2022-08-02 12:12 |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside lower bound (Datetime YMD HMSS)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "2022-08-02 12:12:12" into the data entry form field labeled "Datetime YMD HMSS"
Then I should see "The value you provided is outside the suggested range (2023-09-01 11:01:01 - 2023-09-30 11:01:01). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 8 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                  | List of Data Changes OR Fields Exported   |
  | test_admin | Create record8 (Event 1 (Arm 1: Arm 1)) | datetime_ymd_hmss = '2022-08-02 12:12:12' |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Datetime YMD HMSS   |
  | 8         | Data Types        | 2022-08-02 12:12:12 |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside lower bound (Time HH:MM)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "07:07" into the data entry form field labeled "Time HH:MM"
Then I should see "The value you provided is outside the suggested range (08:05 - 23:00). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 9 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                  | List of Data Changes OR Fields Exported |
  | test_admin | Create record9 (Event 1 (Arm 1: Arm 1)) | time_hhmm = '07:07'                     |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Time HH:MM |
  | 9         | Data Types        | 07:07      |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside lower bound (Time HH:MM:SS)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "07:07:07" into the data entry form field labeled " Time HH:MM:SS"
Then I should see "The value you provided is outside the suggested range (08:01:01 - 23:00:00). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 10 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record10 (Event 1 (Arm 1: Arm 1)) | time_hhmmss = '07:07:07'                |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Time HH:MM:SS |
  | 10        | Data Types        | 07:07:07      |

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside lower bound (Time MM:SS)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "01:00" into the data entry form field labeled "Time MM:SS"
Then I should see "The value you provided is outside the suggested range (02:01 - 59:00). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 11 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record11 (Event 1 (Arm 1: Arm 1)) | time_mm_ss = '01:00'                    |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | MM:SS |
  | 11        | Data Types        | 01:00 |

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside lower bound (Integer)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "0" into the data entry form field labeled "Integer"
Then I should see "The value you provided is outside the suggested range (1 - 100). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 12 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record12 (Event 1 (Arm 1: Arm 1)) | integer = '0'                           |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Integer |
  | 12        | Data Types        | 0       |

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside lower bound (Number)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "0" into the data entry form field labeled "Number"
Then I should see "The value you provided is outside the suggested range (1 - 5). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 13 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record13 (Event 1 (Arm 1: Arm 1)) | number = '0'                            |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Number |
  | 13        | Data Types        | 0      |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside lower bound (Number Decimal)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "0.0" into the data entry form field labeled "Number Decimal"
Then I should see "The value you provided is outside the suggested range (1.0 - 5.0). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 14 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record14 (Event 1 (Arm 1: Arm 1)) | number_dec = '0.0'                      |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Number Decimal |
  | 14        | Data Types        | 0.0            |

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside lower bound (Number Comma)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "0,0" into the data entry form field labeled "Number Comma"
Then I should see "The value you provided is outside the suggested range (1,0 - 2,0). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 15 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record15 (Event 1 (Arm 1: Arm 1)) | num_comma = '0,0'                       |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Number Comma |
  | 15        | Data Types        | 0,0          |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside upper bound (date YMD)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "2024-08-02" into the data entry form field labeled "date YMD"
Then I should see "The value you provided is outside the suggested range (2023-08-01 - 2023-08-31). This value is admissible, but you may wish to double check it." in the dialog box
When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 16 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record16 (Event 1 (Arm 1: Arm 1)) | date_ymd = '2024-08-02'                 |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | date YMD   |
  | 16        | Data Types        | 2024-08-02 |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside upper bound (Datetime)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "2024-08-02 12:12" into the data entry form field labeled "Datetime"
Then I should see "The value you provided is outside the suggested range (2023-09-01 01:01 - 2023-09-30 01:59). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 17 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record17 (Event 1 (Arm 1: Arm 1)) | datetime_ymd_hm = '2024-08-02 12:12'    |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Datetime         |
  | 17        | Data Types        | 2024-08-02 12:12 |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside upper bound (Datetime YMD HMSS)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "2024-08-02 12:12:12" into the data entry form field labeled "Datetime YMD HMSS"
Then I should see "The value you provided is outside the suggested range (2023-09-01 11:01:01 - 2023-09-30 11:01:01). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 18 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported   |
  | test_admin | Create record18 (Event 1 (Arm 1: Arm 1)) | datetime_ymd_hmss = '2024-08-02 12:12:12' |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Datetime YMD HMSS   |
  | 18        | Data Types        | 2024-08-02 12:12:12 |

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside upper bound (Time HH:MM)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "23:07" into the data entry form field labeled "Time HH:MM"
Then I should see "The value you provided is outside the suggested range (08:05 - 23:00). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 19 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record19 (Event 1 (Arm 1: Arm 1)) | time_hhmm = '23:07'                     |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Time HH:MM |
  | 19        | Data Types        | 23:07      |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside upper bound (Time HH:MM:SS)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "23:07:07" into the data entry form field labeled " Time HH:MM:SS"
Then I should see "The value you provided is outside the suggested range (08:01:01 - 23:00:00). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 20 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record20 (Event 1 (Arm 1: Arm 1)) | time_hhmmss = '23:07:07'                |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Time HH:MM:SS |
  | 20        | Data Types        | 23:07:07      |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside upper bound (Time MM:SS)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "59:01" into the data entry form field labeled "Time MM:SS"
Then I should see "The value you provided is outside the suggested range (02:01 - 59:00). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 21 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record21 (Event 1 (Arm 1: Arm 1)) | time_mm_ss = '59:01'                    |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Time MM:SS |
  | 21        | Data Types        | 59:01      |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside upper bound (Integer)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "200" into the data entry form field labeled "Integer"
Then I should see "The value you provided is outside the suggested range (1 - 100). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 22 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record22 (Event 1 (Arm 1: Arm 1)) | integer = '200'                         |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Integer |
  | 22        | Data Types        | 200     |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside upper bound (Number)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "10" into the data entry form field labeled "Number"
Then I should see "The value you provided is outside the suggested range (1 - 5). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 23 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record23 (Event 1 (Arm 1: Arm 1)) | number = '10'                           |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Number |
  | 23        | Data Types        | 10     |

#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside upper bound (Number Decimal)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "6.0" into the data entry form field labeled "Number Decimal"
Then I should see "The value you provided is outside the suggested range (1.0 - 5.0). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 24 successfully added"

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record24 (Event 1 (Arm 1: Arm 1)) | number_dec = '6.0'                      |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Number Decimal |
  | 24        | Data Types        | 6.0            |


#FUNCTIONAL REQUIREMENT
##ACTION - Verify field validation outside upper bound (Number Comma)
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I enter "3,0" into the data entry form field labeled "Number Comma"
Then I should see "The value you provided is outside the suggested range (1,0 - 2,0). This value is admissible, but you may wish to double check it." in the dialog box

When I click on the button labeled "Close" in the dialog box
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 25 successfully added."

##VERIFY_LOG
When I click on the link labeled exactly "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                                   | List of Data Changes OR Fields Exported |
  | test_admin | Create record25 (Event 1 (Arm 1: Arm 1)) | num_comma = '3,0'                       |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Repeat Instrument | Number Comma |
  | 25        | Data Types        | 3,0          |

Comments:

Comment:

Author: MintooXavier Updated on: 7/18/2024 12:20:58 PM

Comment body:

Scripts Pre-reviewed:

  1. A.4.8.100 - Enable field validation
  2. B.4.8.200 - Text Validation
  3. B.4.8.300 - Field Ranges - Commented out the snapshot step. I had to run in batches by commenting out some steps.

All tests pass.

Comment edits:

Created: 7/18/2024 12:20:57 PM Edited on: 7/18/2024 12:20:57 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. A.4.8.100 - Enable field validation
  2. B.4.8.200 - Text Validation
  3. B.4.8.300 - Field Ranges - Commented out the snapshot step. I had to run in batches by commenting out some steps.

All tests pass.

Created: 7/18/2024 12:11:12 PM Edited on: 7/18/2024 12:11:12 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. A.4.8.100 - Enable field validation
  2. B.4.8.200 - Text Validation
  3. B.4.8.300 - Field Ranges - had to run in batches by commenting out some steps.

All tests pass.

Created: 7/18/2024 12:10:41 PM Edited on: 7/18/2024 12:10:41 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. A.4.8.100 - Enable field validation
  2. B.4.8.200 - Text Validation
  3. B.4.8.300 - Field Ranges - had to run in batches by commenting out some steps.

Created: 7/18/2024 10:04:16 AM Edited on: 7/18/2024 10:04:16 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. A.4.8.100 - Enable field validation
  2. B.4.8.200 - Text Validation
  3. B.4.8.300 - Field Ranges

Created: 7/18/2024 8:44:11 AM Edited on: 7/18/2024 8:44:11 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. A.4.8.100 - Enable field validation
  2. B.4.8.200 - Text Validation

Created: 7/12/2024 10:37:29 AM Edited on: 7/12/2024 10:37:29 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. A.4.8.100 - Enable field validation

Created: 7/12/2024 10:37:29 AM Edited on: 7/12/2024 10:36:39 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed: A.4.8.100 - Enable field validation

Comment:

Author: MintooXavier Updated on: 10/18/2024 8:40:02 AM

Comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


Timeline events:

LABELLED | User: MintooXavier Created on: 7/12/2024 10:07:39 AM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/12/2024 10:07:39 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/12/2024 10:07:39 AM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/12/2024 10:07:39 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/12/2024 10:36:39 AM Issue comment body:

Scripts Pre-reviewed:

  1. A.4.8.100 - Enable field validation
  2. B.4.8.200 - Text Validation
  3. B.4.8.300 - Field Ranges - Commented out the snapshot step. I had to run in batches by commenting out some steps.

All tests pass.

ISSUE COMMENT | User: MintooXavier Created on: 10/18/2024 8:40:02 AM Issue comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


————— feature ends —————



Feature: 7. Design Forms using Data Dictionary & Online Designer

Id: I_kwDOIaOBn86LOhFN Uid: redcap_cypress-37
Author: MintooXavier Created: 6/5/2024 12:58:17 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/37
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:46:29 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to design CRFs by uploading a data dictionary or design it using the front-end (online designer).

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/07-online_designer.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.100%20-%20New%20Instruments%20via%20Data%20Dictionary.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.200%20-%20Create%20Instrument.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.300%20-%20Rename%20Instrument.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.400%20-%20Copy%20Instrument.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.500%20-%20Delete%20Instrument.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.600%20-%20Reorder%20Instrument.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.700%20-%20Field%20Textbox.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.800%20-%20Field%20Notes.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.900%20-%20Field%20Calculated.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1000%20-%20Field%20Multiple%20Choice.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1100%20-%20Field%20Radio.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1200%20-%20Field%20Checkbox.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1300%20-%20Field%20Signature.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1400%20-%20Field%20File%20Upload.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1500%20-%20Field%20Descriptive%20Text.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1600%20-%20Field%20New%20Section.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1700%20-%20Identifier%20Fields.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1800%20-%20Required%20Fields.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1900%20-%20Field%20Management.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/07-online_designer.spec

B.6.7.100 - Form Creation: The system shall support the creation of new data collection instruments using the Data Dictionary.
B.6.7.200 - Form Creation: The system shall support the creation of new data collection instruments via the Online Designer.
B.6.7.300 - Form Creation: The system shall support the ability to rename data collection instruments.
B.6.7.400 - Form Creation: The system shall support the ability to copy data collection instruments and add a suffix to each variable name in the new instrument.
B.6.7.500 - Form Creation: The system shall support the ability to delete data collection instruments.
B.6.7.600 - Form Creation: The system shall support the ability to re-order data collection instruments.
B.6.7.700 - Field Creation: The system shall support the creation of Text box (Short Text).
B.6.7.800 - Field Creation: The system shall support the creation of Notes Box (Paragraph Text).
B.6.7.900 - Field Creation: The system shall support creation and customization of algorithms for calculated fields.
B.6.7.1000 - Field Creation: The system shall support the creation and manual coding for multiple choice dropdown list (single answer).
B.6.7.1100 - Field Creation: The system shall support the creation and manual coding for multiple choice radio buttons (single answer).
B.6.7.1200 - Field Creation: The system shall support the creation of Checkboxes (multiple answers).
B.6.7.1300 - Field Creation: The system shall support the creation of Signature (draw signature with mouse or finger).
B.6.7.1400 - Field Creation: The system shall support the creation of File upload (for users to upload file).
B.6.7.1500 - Field Creation: The system shall support the creation of Descriptive Text (with optional Image/File Attachment).
B.6.7.1600 - Field Creation: The system shall support the creation of Begin New Section (with optional text).
B.6.7.1700 - Field Creation: The system shall support marking a data entry field as an identifier.
B.6.7.1800 - Field Creation: The system shall support marking a data entry field as required.
B.6.7.1900 - Field Creation: The system shall support the ability to add, edit, copy, move and delete data collection fields.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.100%20-%20New%20Instruments%20via%20Data%20Dictionary.feature

Feature: Design forms Using Data Dictionary and Online Designer Form Creation: The system shall support the creation of unique new data collection instruments using the Data Dictionary.

As a REDCap end user I want to see that project Designer is functioning as expected

Scenario: B.6.7.100.100 Data dictionary export/import function #SETUP Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “New Project” And I enter “B.6.7.100.100” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project”

#FUNCTIONAL_REQUIREMENT
##ACTION: Download data dictionary
When I click on the link labeled "Dictionary"
And I click on the link labeled "Download the current Data Dictionary" to download a file

##VERIFY
Then I should see the latest downloaded "csv" file containing the headings and rows below
  | "Variable / Field Name" | "Form Name" | "Section Header" | "Field Type" | "Field Label" | "Choices, Calculations, OR Slider Labels" | "Field Note" | "Text Validation Type OR Show Slider Number" | "Text Validation Min" | "Text Validation Max" | Identifier? | "Branching Logic (Show field only if...)" | "Required Field?" | "Custom Alignment" | "Question Number (surveys only)" | "Matrix Group Name" | "Matrix Ranking?" | "Field Annotation" |
  | record_id               | form_1      |                  | text         | "Record ID"   |                                           |              |                                              |                       |                       |             |                                           |                   |                    |                                  |                     |                   |                    |

##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Upload your Data Dictionary file" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

##VERIFY
When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

When I click on the link labeled "Online Designer"
Then I should see "Text Validation"
And I should see "Consent"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Upload data dictionary                  |

##ACTION: Upload data dictionary with removed form and Reordered form (#B.6.7.500.200 & B.6.7.600.200)
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Data Dictionary File 2.csv", by clicking the button near "Upload your Data Dictionary file" to browse for the file, and clicking the button labeled "Upload" to upload the file

##VERIFY
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

When I click on the link labeled "Online Designer"
Then I should see "Text Validation"
And I should NOT see "Consent"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Upload data dictionary                  |

##ACTION: Unable to upload data dictionary with Errors
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Data Dictionary File 3.csv", by clicking the button near "Upload your Data Dictionary file" to browse for the file, and clicking the button labeled "Upload" to upload the file

##VERIFY
Then I should see "Errors found in your Data Dictionary:"
And I click on the button labeled "RETURN TO PREVIOUS PAGE"
Then I should see "Steps for making project changes"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Upload data dictionary                  |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.200%20-%20Create%20Instrument.feature

Feature: Design forms Using Data Dictionary and Online Designer Form Creation: The system shall support the creation of new data collection instruments via the Online Designer.

As a REDCap end user I want to see that Online Designer is functioning as expected

Scenario: B.6.7.200.100 Create form with Online Designer #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.6.7.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.6.7.200.100” And I click on the link labeled “Project Setup” And I click on the button labeled “Online Designer” Then I should see “Data Collection Instruments”

#FUNCTIONAL_REQUIREMENT
##ACTION: Create new form
#Oddly, we need the space before this button because otherwise we match on "Create snapshot of instruments"
When I click on the button labeled exactly " Create"
And I click on the last button labeled "Add instrument here"
Then I should see "New instrument name:"
When I enter "New Form" into the input field labeled "New instrument name:" within the data collection instrument list
And I click on the last button labeled "Create"
Then I should see "SUCCESS!"

Given I click on the button labeled "Close" in the dialog box

#VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Instrument name | Fields |
  | Text Validation | 3      |
  | Data Types      | 45     |
  | Survey          | 2      |
  | Consent         | 4      |
  | New Form        | 0      |

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Create data collection instrument       |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.300%20-%20Rename%20Instrument.feature

Feature: Design forms Using Data Dictionary and Online Designer Form Creation: The system shall support the ability to rename data collection instruments.

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.300.100 Unique instrument name ##SETUP_DEV Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.6.7.300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.300.100"
#FUNCTIONAL_REQUIREMENT
##ACTION: Verify unique instrument variable name
When I click on the link labeled "Codebook"
##VERIFY_CODEBOOK
Then I should see "Instrument:Text Validation(text_validation)"

##ACTION: Rename instrument and instrument variable name
When I click on the link labeled "Online Designer"
Then I should see a table header and rows containing the following values in a table:
  | Instrument name | Fields |
  | Text Validation | 3      |
  | Data Types      | 45     |
  | Survey          | 2      |
  | Consent         | 4      |

Given I click on the first button labeled "Choose action"
And I click on the link labeled "Rename" in the action popup
And I clear field and enter "Text Validation Rename" into the field with the placeholder text of "Text Validation"
And I click on the button labeled "Save" to rename an instrument

#VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Instrument name        | Fields |
  | Text Validation Rename | 3      |
  | Data Types             | 45     |
  | Survey                 | 2      |
  | Consent                | 4      |

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see "Instrument:Text Validation Rename(text_validation_rename)"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Rename data collection instrument       |

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far." in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
When I click on the button labeled "Online Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

Given I see a table header and rows containing the following values in a table:
  | Instrument name        | Fields |
  | Text Validation Rename | 3      |
  | Data Types             | 45     |
  | Survey                 | 2      |
  | Consent                | 4      |

##ACTION: Rename instrument and Keep old instrument variable name
Given I click on the first button labeled "Choose action"
And I click on the link labeled "Rename" in the action popup
And I clear field and enter "Text Validation Rename 2" into the field with the placeholder text of "Text Validation Rename"
And I click on the button labeled "Save" to rename an instrument

#VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Instrument name          | Fields |
  | Text Validation Rename 2 | 3      |
  | Data Types               | 45     |
  | Survey                   | 2      |
  | Consent                  | 4      |

When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
When I click on the button labeled "Close" in the dialog box

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see "Instrument:Text Validation Rename 2(text_validation_rename)"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Rename data collection instrument       |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.400%20-%20Copy%20Instrument.feature

Feature: Design forms Using Data Dictionary and Online Designer Form Creation: The system shall support the ability to copy data collection instruments and add a suffix to each variable name in the new instrument.

As a REDCap end user I want to see that project Designer is functioning as expected

Scenario: B.6.7.400.100 Copy instrument ##SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.6.7.400.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far." in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the button labeled "Online Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

Then I should see a table header and rows containing the following values in a table:
  | Instrument name | Fields |
  | Text Validation | 3      |
  | Data Types      | 45     |
  | Survey          | 2      |
  | Consent         | 4      |

#FUNCTIONAL_REQUIREMENT
##ACTION
Given I click on the first button labeled "Choose action"
And I click on the link labeled "Copy" in the action popup
Then I should see a dialog containing the following text: "Copy instrument"
And I click on the button labeled "Copy instrument" in the dialog box

##VERIFY
Then I should see "SUCCESS! The instrument was successfully copied."
#We need this line so that we know the page has refreshed
And I should see "Text Validation 2"
And I should see a table header and rows containing the following values in a table:
  | Instrument name   | Fields |
  | Text Validation   | 3      |
  | Data Types        | 45     |
  | Survey            | 2      |
  | Consent           | 4      |
  | Text Validation 2 | 2      |

##VERIFY INSTRUMENT
When I click on the link labeled "Text Validation 2"
Then I should see "Text Validation 2"
And I should see "Variable: name_v2"
And I should see "Variable: email_v2"

When I click on the button labeled "Return to list of instruments"
And I should see "Data Collection Instruments"

Given I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
And I click on the button labeled "Close" in the dialog box

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see "Instrument:Text Validation 2(text_validation_2)"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Copy data collection instrument         |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.500%20-%20Delete%20Instrument.feature

Feature: Design forms Using Data Dictionary and Online Designer Form Creation: The system shall support the ability to delete data collection instruments.

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.500.100 Delete instrument from online designer #SETUP Given I login to REDCap with the user “Test_Admin”

# BEGIN: STEPS FOR ATS
And I click on the link labeled "Control Center"
# - EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, project request behavior does not work properly
Given I click on the link labeled "General Configuration"
Then I should see "General Configuration"
When I enter "redcap@test.instance" into the input field labeled "Email Address of REDCap Administrator"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed"
# END: STEPS FOR ATS ###

And I create a new project named "B.6.7.500.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far." in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the button labeled "Online Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#This establishes what instruments are here initially
Then I should see a table header and rows containing the following values in a table:
  | Instrument name | Fields |
  | Text Validation | 3      |
  | Data Types      | 45     |
  | Survey          | 2      |
  | Consent         | 4      |

#FUNCTIONAL_REQUIREMENT
##ACTION
#And I want to export a snapshot of this feature here
Given I click on the first button labeled "Choose action"
And I click on the link labeled "Delete" in the action popup
Then I should see a dialog containing the following text: "Delete the selected form?"
And I click on the button labeled "Yes, delete it" in the dialog box
Then I should see "The data collection instrument and all its fields have been successfully deleted"

When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box

Given I should see "As an Administrator, you may review and approve changes made to the project. To do so, navigate to the Project Modification Module."
And I click on the button labeled "Project Modification Module"
And I click on the button labeled "COMMIT CHANGES"
Then I should see a dialog containing the following text: "COMMIT CHANGES TO PROJECT?"
And I click on the button labeled "COMMIT CHANGES" in the dialog box

#This establishes what instruments are here now
When I click on the link labeled "Designer"
Then I should see a table header and rows containing the following values in a table:
  | Instrument name | Fields |
  | Data Types      | 46     |
  | Survey          | 2      |
  | Consent         | 4      |

And I should NOT see "Text Validation"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported               |
  | test_admin | Manage/Design | Approve production project modifications              |
  | test_admin | Manage/Design | Request approval for production project modifications |
  | test_admin | Manage/Design | Delete data collection instrument                     |
  | test_admin | Manage/Design | Enter draft mode                                      |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.600%20-%20Reorder%20Instrument.feature

Feature: Design forms Using Data Dictionary and Online Designer Form Creation: The system shall support the ability to re-order data collection instruments.

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.600.100 Reorder instrument from online designer #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.6.7.600.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.600.100"

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far." in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the button labeled "Online Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#This establishes what instruments are here initially
Then I should see the instrument named "Text Validation" in the first row
And I should see the instrument named "Data Types" in the second row

#FUNCTIONAL_REQUIREMENT
##ACTION
When I drag the instrument named "Data Types" to the first row
Then I should see "Saved!" in the data collection instruments table
And I should see the instrument named "Data Types" in the first row
And I should see the instrument named "Text Validation" in the second row

When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
And I click on the button labeled "Close" in the dialog box

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Reorder data collection instruments     |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.700%20-%20Field%20Textbox.feature

Feature: Design forms Using Data Dictionary and Online Designer Field Creation: The system shall support the creation of Text box (Short Text).

As a REDCap end user I want to see that Online Designer is functioning as expected

Scenario: B.6.7.700.100 Text box field creation in Online Designer #SETUP Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “New Project” And I enter “B.6.7.700.100” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project”

##SETUP_DEV
When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.700.100"
And I click on the link labeled "Project Setup"
And I click on the link labeled "Designer"
Then I should see "Data Collection Instruments"

#FUNCTIONAL_REQUIREMENT
##ACTION: Text box field creation
Given I see a table header and rows containing the following values in a table:
  | Instrument name | Fields |
  | Form 1          | 1      |
And I click on the link labeled "Form 1"
Then I should see a field named "Record ID"

Given I click on the Add Field input button below the field named "Record ID"
And I select "Text Box (Short Text, Number, Date/Time, ...)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Text Box" into the Field Label of the open "Add New Field" dialog box
And I enter "textbox" into the Variable Name of the open "Add New Field" dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box

#VERIFY
Then I should see a field named "Text Box"

##ACTION: Edit variable name – numeric (unable)
Given I click on the Edit image for the field named "Text Box"
And I enter "2" into the Variable Name of the open "Edit Field" dialog box
#Because we cannot ACTUALLY save due to the alert window that pops up, do NOT add "Edit Field" before dialog box in the step below - will not work!
And I click on the button labeled "Save" in the dialog box
Then I should see a dialog containing the following text: "Please enter a value for the variable name"

Given I click on the button labeled "Close" in the dialog box
And I enter "2ABC" into the Variable Name of the open "Edit Field" dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

#VERIFY
Then I should see "Variable: abc"
##ACTION: Add variable name – Alpha numeric

Given I click on the Add Field input button below the field named "Text Box"
And I select "Text Box (Short Text, Number, Date/Time, ...)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "ABC#2" into the Field Label of the open "Add New Field" dialog box
And I enter "ABC#2" into the Variable Name of the open "Add New Field" dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box

#VERIFY
Then I should see "Variable: abc_2"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label | Field Attributes |
  | [abc_2]               | ABC#2       | text             |

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Edit project field                      |

Scenario: B.6.7.700.200 Text box field creation in Data Dictionary #SETUP Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “New Project” And I enter “B.6.7.700.200” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project”

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label | Field Attributes |
  | [name]                | Name        | text             |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.800%20-%20Field%20Notes.feature

Feature: Design forms Using Data Dictionary and Online Designer Field Creation: The system shall support the creation of Notes Box (Paragraph Text).

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.800.100 Note box field creation in Online Designer #SETUP Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “New Project” And I enter “B.6.7.800.100” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project”

##SETUP_DEV
When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.800.100"
And I click on the link labeled "Project Setup"
#And I click on the link labeled "Designer" #TODO: ATS: This puts us on the wrong page to move to production
#Then I should see "Data Collection Instruments"

And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#FUNCTIONAL_REQUIREMENT
##ACTION: Note box field creation
Given I see a table header and rows containing the following values in a table:
  | Instrument name | Fields |
  | Form 1          | 1      |
And I click on the link labeled "Form 1"
Then I should see a field named "Record ID"

Given I click on the Add Field input button below the field named "Record ID"
And I select "Notes Box (Paragraph Text)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Notes Box" into the Field Label of the open "Add New Field" dialog box
And I enter "notesbox" into the Variable Name of the open "Add New Field" dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box

#VERIFY
Then I should see a field named "Notes Box"

When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
When I click on the button labeled "Close" in the dialog box

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label | Field Attributes |
  | [notesbox]            | Notes Box   | notes            |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Create project field                    |

Scenario: B.6.7.800.200 Note box field creation in Data Dictionary #SETUP Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “New Project” And I enter “B.6.7.800.200” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project”

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label | Field Attributes |
  | [notesbox2]           | Notes box 2 | notes            |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.900%20-%20Field%20Calculated.feature

Feature: Design forms Using Data Dictionary and Online Designer Field Creation: The system shall support creation and customization of algorithms for calculated fields.

As a REDCap end user I want to see that calculated field is functioning as expected

Scenario: B.6.7.900.100 Creation of calculated field through online designer #SETUP Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “New Project” And I enter “B.6.7.900.100” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project”

##SETUP_DEV
When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.900.100"
And I click on the link labeled "Project Setup"
#And I click on the link labeled "Designer" #TODO: ATS: This puts us on the wrong page to move to production
#Then I should see "Data Collection Instruments"

And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#FUNCTIONAL_REQUIREMENT
##ACTION: calculated field creation
Given I see a table header and rows containing the following values in a table:
  | Instrument name | Fields |
  | Form 1          | 1      |
And I click on the link labeled "Form 1"
Then I should see a field named "Record ID"

Given I click on the Add Field input button below the field named "Record ID"
And I select "Calculated Field" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Calculated Field" into the Field Label of the open "Add New Field" dialog box
And I enter "calculated_field" into the Variable Name of the open "Add New Field" dialog box
And I enter the equation "3*2" into Calculation Equation of the open "Add New Field" dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box

#VERIFY
Then I should see a field named "Calculated Field"
And I should see a link labeled "View equation"

##SETUP_PRODUCTION
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
When I click on the button labeled "Close" in the dialog box

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | [calculated_field] | Calculated Field | calc |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Create project field                    |

Scenario: B.6.7.900.200 Creation of calculated field through Data Dictionary upload

#SETUP
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "New Project"
And I enter "B.6.7.900.200" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the radio labeled "Empty project (blank slate)"
And I click on the button labeled "Create Project"

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label      | Field Attributes |
  | [calculated_field]    | Calculated Field | calc             |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Upload data dictionary                  |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1000%20-%20Field%20Multiple%20Choice.feature

Feature: Design forms Using Data Dictionary and Online Designer Field Creation: The system shall support the creation and manual coding for multiple choice dropdown list (single answer).

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.1000.100 Creation of multiple choice dropdown list (single answer) through the Online Designer #SETUP Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “New Project” And I enter “B.6.7.1000.100” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project”

##SETUP_DEV
When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.1000.100"
And I click on the link labeled "Project Setup"
#And I click on the link labeled "Designer" #TODO: ATS: This puts us on the wrong page to move to production
#Then I should see "Data Collection Instruments"

And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#FUNCTIONAL_REQUIREMENT
##ACTION: dropdown field creation
Given I see a table header and rows containing the following values in a table:
  | Instrument name | Fields |
  | Form 1          | 1      |
And I click on the link labeled "Form 1"
Then I should see a field named "Record ID"

Given I click on the Add Field input button below the field named "Record ID"
And I select "Multiple Choice - Drop-down List (Single Answer)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Multiple Choice Dropdown Manual" into the Field Label of the open "Add New Field" dialog box
And I enter "multiple_dropdown_manual" into the Variable Name of the open "Add New Field" dialog box
And I enter Choices of "5, DDChoice5" into the open "Add New Field" dialog box
And I enter Choices of "7, DDChoice7" into the open "Add New Field" dialog box
And I enter Choices of "6, DDChoice6" into the open "Add New Field" dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box

#VERIFY
Then I should see a field named "Multiple Choice Dropdown Manual"
And I should see the dropdown field labeled "Multiple Choice Dropdown Manual" with the options below
  | DDChoice5 |
  | DDChoice7 |
  | DDChoice6 |

##SETUP_PRODUCTION
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
When I click on the button labeled "Close" in the dialog box

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name      | Field Label                     | Field Attributes |
  | [multiple_dropdown_manual] | Multiple Choice Dropdown Manual | dropdown         |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Create project field                    |

Scenario: B.6.7.1000.200 Creation of multiple choice dropdown list (single answer) through Data Dictionary upload (#CROSSFUNCTIONAL – B.6.7.100.100)

#SETUP
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "New Project"
And I enter "B.6.7.1000.200" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the radio labeled "Empty project (blank slate)"
And I click on the button labeled "Create Project"

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name      | Field Label                     | Field Attributes |
  | [multiple_dropdown_manual] | Multiple Choice Dropdown Manual | dropdown         |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1100%20-%20Field%20Radio.feature

Feature: Design forms Using Data Dictionary and Online Designer Field Creation: The system shall support the creation and manual coding for multiple choice radio buttons (single answer)

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.1000.100 Creation of multiple choice dropdown list (single answer) through the Online Designer #SETUP Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “New Project” And I enter “B.6.7.1100.100” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project”

##SETUP_DEV
When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.1100.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#FUNCTIONAL_REQUIREMENT
##ACTION: radio field creation
Given I see a table header and rows containing the following values in a table:
  | Instrument name | Fields |
  | Form 1          | 1      |
And I click on the link labeled "Form 1"
Then I should see a field named "Record ID"

Given I click on the Add Field input button below the field named "Record ID"
And I select "Multiple Choice - Radio Buttons (Single Answer)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Radio Button Manual" into the Field Label of the open "Add New Field" dialog box
And I enter "radio_button_manual" into the Variable Name of the open "Add New Field" dialog box
And I enter Choices of "9..9, Choice99" into the open "Add New Field" dialog box
And I enter Choices of "100, Choice100" into the open "Add New Field" dialog box
And I enter Choices of "101, Choice101" into the open "Add New Field" dialog box
And I enter Choices of "Abc123, Choice Abc123" into the open "Add New Field" dialog box
And I should see "Save"
And I click on the button labeled "Save" in the "Add New Field" dialog box

#VERIFY
Then I should see a field named "Radio Button Manual"
And I should see the radio field labeled "Radio Button Manual" with the options below
  | Choice99      |
  | Choice100     |
  | Choice101     |
  | Choice Abc123 |

##SETUP_PRODUCTION
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
When I click on the button labeled "Close" in the dialog box

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label         | Field Attributes |
  | [radio_button_manual] | Radio Button Manual | radio            |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Create project field                    |

Scenario: B.6.7.1100.200 Creation of multiple choice radio buttons (single answer) through Data Dictionary upload (#CROSSFUNCTIONAL - B.6.7.100.100)

#SETUP
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "New Project"
And I enter "B.6.7.1100.200" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the radio labeled "Empty project (blank slate)"
And I click on the button labeled "Create Project"

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label         | Field Attributes |
  | [radio_button_manual] | Radio Button Manual | radio            |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1200%20-%20Field%20Checkbox.feature

Feature: Field Creation: The system shall support the creation of Checkboxes (multiple answers).

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.1200.100 Creation of Checkboxes (multiple answers) through the Online Designer #SETUP Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “New Project” And I enter “B.6.7.1200.100” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project” Then I should see “Your new REDCap project has been created” And I should see “B.6.7.1200.100”

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#FUNCTIONAL_REQUIREMENT
##ACTION: checkbox field creation
Given I click on the instrument labeled "Form 1"
And I click on the Add Field input button below the field named "Record ID"

When I select "Checkboxes (Multiple Answers)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Checkbox" into the Field Label of the open "Add New Field" dialog box
And I enter "checkbox" into the Variable Name of the open "Add New Field" dialog box
And I enter Choices of "1, Checkbox1" into the open "Add New Field" dialog box
And I enter Choices of "2, Checkbox2" into the open "Add New Field" dialog box
And I enter Choices of "3, Checkbox3" into the open "Add New Field" dialog box
And I enter Choices of "Abc123, Checkbox Abc123" into the open "Add New Field" dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box
Then I should see the field labeled "Checkbox"
And I should see the multiselect field labeled "checkbox" with the options below
  | Checkbox1       |
  | Checkbox2       |
  | Checkbox3       |
  | Checkbox Abc123 |

##SETUP_PRODUCTION
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
When I click on the button labeled "Close" in the dialog box

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | # | Variable / Field Name | Field Label | Field Attributes |
  | 2 | [checkbox]            | Checkbox    | checkbox         |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Create project field                    |

Scenario: B.6.7.1200.200 Creation of Checkboxes (multiple answers) through Data Dictionary upload

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "New Project"
And I enter "B.6.7.1200.200" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the button labeled "Create Project"
Then I should see "Your new REDCap project has been created"
And I should see "B.6.7.1200.200"

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | # | Variable / Field Name | Field Label | Field Attributes |
  | 2 | [checkbox]            | Checkbox    | checkbox         |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1300%20-%20Field%20Signature.feature

Feature: Field Creation: The system shall support the creation of Signature (draw signature with mouse or finger).

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.1300.100 Creation of Signature field through the Online Designer #SETUP Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “New Project” And I enter “B.6.7.1300.100” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project” Then I should see “Your new REDCap project has been created” And I should see “B.6.7.1300.100”

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#FUNCTIONAL_REQUIREMENT
##ACTION: Signature field creation
Given I click on the instrument labeled "Form 1"
And I click on the Add Field input button below the field named "Record ID"

When I select "Signature (draw signature with mouse or finger)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Signature" into the Field Label of the open "Add New Field" dialog box
And I enter "signature" into the Variable Name of the open "Add New Field" dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box
Then I should see the field labeled "Signature"
And I should see the link labeled "Add signature"

##SETUP_PRODUCTION
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
When I click on the button labeled "Close" in the dialog box

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | # | Variable / Field Name | Field Label | Field Attributes |
  | 2 | [signature]           | Signature   | file (signature) |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Create project field                    |

Scenario: B.6.7.1300.200 Creation of Signature field through Data Dictionary upload

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "New Project"
And I enter "B.6.7.1300.200" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the button labeled "Create Project"
Then I should see "Your new REDCap project has been created"
And I should see "B.6.7.1300.200"

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | # | Variable / Field Name | Field Label | Field Attributes |
  | 2 | [signature]           | Signature   | file (signature) |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1400%20-%20Field%20File%20Upload.feature

Feature: Field Creation: The system shall support the creation of File upload (for users to upload file).

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.1400.100 Creation of File upload field through the Online Designer #SETUP Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “New Project” And I enter “B.6.7.1400.100” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project” Then I should see “Your new REDCap project has been created” And I should see “B.6.7.1400.100”

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#FUNCTIONAL_REQUIREMENT
##ACTION: checkbox field creation
Given I click on the instrument labeled "Form 1"
And I click on the Add Field input button below the field named "Record ID"

When I select "File Upload (for users to upload files)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "File Upload" into the Field Label of the open "Add New Field" dialog box
And I enter "file_upload" into the Variable Name of the open "Add New Field" dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box
Then I should see the field labeled "File Upload"
And I should see the link labeled "Upload file"

##SETUP_PRODUCTION
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
When I click on the button labeled "Close" in the dialog box

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | # | Variable / Field Name | Field Label | Field Attributes |
  | 2 | [file_upload]         | File Upload | file             |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Create project field                    |

Scenario: B.6.7.1400.200 Creation of File upload field through Data Dictionary upload

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "New Project"
And I enter "B.6.7.1400.200" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the radio labeled "Empty project (blank slate)"
And I click on the button labeled "Create Project"
Then I should see "Your new REDCap project has been created"
And I should see "B.6.7.1400.200"

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | # | Variable / Field Name | Field Label | Field Attributes |
  | 2 | [file_upload]         | File Upload | file             |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1500%20-%20Field%20Descriptive%20Text.feature

Feature: Field Creation: The system shall support the creation of Descriptive Text (with optional Image/File Attachment.

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.1500.100 Creation of Descriptive field through the Online Designer #SETUP Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “New Project” And I enter “B.6.7.1500.100” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project” Then I should see “Your new REDCap project has been created” And I should see “B.6.7.1500.100”

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#FUNCTIONAL_REQUIREMENT
##ACTION: Signature field creation
Given I click on the instrument labeled "Form 1"
And I click on the Add Field input button below the field named "Record ID"

When I select "Descriptive Text (with optional Image/Video/Audio/File Attachment)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Descriptive Text with File" into the Field Label of the open "Add New Field" dialog box
And I enter "descriptive_text_file" into the Variable Name of the open "Add New Field" dialog box
Then I should see a link labeled "Upload file"

Given I click on the link labeled "Upload file"
And I see a dialog containing the following text: "Attach an image, file, or embedded audio"
When I upload a "docx" format file located at "import_files/B.6.7.1500_Upload File.docx", by clicking the button near "Select a file then click the 'Upload File' button" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I should see "Document was successfully uploaded!" in the dialog box

Given I click on the button labeled "Close" in the dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box

##VERIFY
Then I should see the field labeled "Descriptive Text with File"
And I should see the link labeled "B.6.7.1500_Upload File"

##SETUP_PRODUCTION
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
When I click on the button labeled "Close" in the dialog box

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | # | Variable / Field Name   | Field Label                | Field Attributes |
  | 2 | [descriptive_text_file] | Descriptive Text with File | descriptive      |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Create project field                    |

##ACTION: Download file from descriptive field
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record"
Then I should see the field labeled "Descriptive Text with File"
And I should see "Attachment:"
And I should see a link labeled "B.6.7.1500_Upload File"

When I download a file by clicking on the link labeled "B.6.7.1500_Upload File"
##VERIFY
Then I should see a downloaded file named "B.6.7.1500_Upload File.docx"

Scenario: B.6.7.1500.200 Creation of Descriptive field through Data Dictionary upload

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "New Project"
And I enter "B.6.7.1500.200" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the radio labeled "Empty project (blank slate)"
And I click on the button labeled "Create Project"
Then I should see "Your new REDCap project has been created"
And I should see "B.6.7.1500.200"

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | # | Variable / Field Name   | Field Label                | Field Attributes |
  | 2 | [descriptive_text_file] | Descriptive Text with File | descriptive      |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1600%20-%20Field%20New%20Section.feature

Feature: Field Creation: The system shall support the creation of Begin New Section (with optional text).

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.1600.100 Creation of Section through the Online Designer

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "New Project"
And I enter "B.6.7.1600.100" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the radio labeled "Empty project (blank slate)"
And I click on the button labeled "Create Project"
Then I should see "Your new REDCap project has been created"
And I should see "B.6.7.1600.100"

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#FUNCTIONAL_REQUIREMENT
##ACTION: section break creation
When I click on the instrument labeled "Form 1"
And I click on the Add Field input button below the field named "Record ID"

When I select "Begin New Section (with optional text)" from the Field Type dropdown of the open "Add New Field" dialog box
And I click on the button labeled "Save" in the dialog box
Then I should see an alert box with the following text: "Sorry, but Section Headers cannot be the last field on a data entry form"
# Manual ONLY: (alerts are automatically accepted in automated testing)
# And I click the OK button in the alert box
And I should NOT see the field labeled "Section Break"

When I click on the Add Field input button below the field named "Record ID"
When I select "Notes Box (Paragraph Text)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Notes Box" into the Field Label of the open "Add New Field" dialog box
And I enter "notesbox" into the Variable Name of the open "Add New Field" dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box

#VERIFY
Then I should see the field labeled "Notes Box"

When I click on the Add Field input button below the field named "Record ID"
When I select "Begin New Section (with optional text)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Section Break" into the Field Label of the open "Add New Field" dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box
Then I should see "Section Break"

##SETUP_PRODUCTION
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
When I click on the button labeled "Close" in the dialog box

##VERIFY: section break
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record"
Then I should see "Form 1"
Then I should see a section break labeled "Section Break"

Scenario: B.6.7.1600.200 Creation of section through Data Dictionary upload

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "New Project"
And I enter "B.6.7.1600.200" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the radio labeled "Empty project (blank slate)"
And I click on the button labeled "Create Project"
Then I should see "Your new REDCap project has been created"
And I should see "B.6.7.1600.200"

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY: section break
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record"
And I click the bubble to add a record for the "Data Types" instrument on the column labeled "Status"
Then I should see "Data Types"
And I should see a section break labeled "Date"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1700%20-%20Identifier%20Fields.feature

Feature: Field Creation: The system shall support marking a data entry field as an identifier.

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.1700.100 Designating field as identifier through the Online Designer #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.6.7.1700.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_USER_RIGHTS
And I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.1700.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Online Designer"
Then I should see "Data Collection Instruments"

#FUNCTIONAL_REQUIREMENT
##ACTION: designate identifier through online designer
When I click on the instrument labeled "Data Types"
#MANUAL NOTE: the last button is the one at the bottom of the instrument
And I click on the last button labeled "Add Field"

When I select "Text Box (Short Text, Number, Date/Time, ...)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Identifier 3" into the Field Label of the open "Add New Field" dialog box
And I enter "identifier_3" into the Variable Name of the open "Add New Field" dialog box
And I mark the field as an identifier
And I click on the button labeled "Save" in the "Add New Field" dialog box

Then I should see the field labeled "Identifier 3"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table row containing the following values in the codebook table:
  | [identifier_3] | Identifier 3 | text, Identifier |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Create project field                    |

Scenario: B.6.7.1700.200 Designating field as identifier through Project Setup #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.6.7.1700.200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.1700.200"
And I click on the link labeled "Project Setup"
And I click on the link labeled "Check For Identifiers"
Then I should see "Check For Identifiers"

#FUNCTIONAL_REQUIREMENT
##ACTION: designate identifier
When I click on the checkbox labeled "name"
And I click on the button labeled "Update Identifiers"
Then I should see "Your changes have been saved!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label | Field Attributes |
  | [identifier]          | Identifier  | text, Identifier |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Tag new identifier fields               |

Scenario: B.6.7.1700.300 Designating field as identifier through Data Dictionary upload #SETUP Given I login to REDCap with the user “Test_Admin” And I click on the link labeled “New Project” And I enter “B.6.7.1700.300” into the input field labeled “Project title” And I select “Practice / Just for fun” on the dropdown field labeled “Project’s purpose” And I click on the radio labeled “Empty project (blank slate)” And I click on the button labeled “Create Project” Then I should see “Your new REDCap project has been created” And I should see “B.6.7.1700.300”

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label | Field Attributes |
  | [identifier]          | Identifier  | text, Identifier |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1800%20-%20Required%20Fields.feature

Feature: Field Creation: The system shall support marking a data entry field as required.

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.1800.100 Designating field as required through the Online Designer #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.6.7.1800.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

##SETUP_PRODUCTION
When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.1800.100"
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#FUNCTIONAL_REQUIREMENT
##ACTION Designating field as required
When I click on the instrument labeled "Data Types"
#MANUAL NOTE: the last button is the one at the bottom of the instrument
And I click on the last button labeled "Add Field"

When I select "Text Box (Short Text, Number, Date/Time, ...)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Required 2" into the Field Label of the open "Add New Field" dialog box
And I enter "required_2" into the Variable Name of the open "Add New Field" dialog box
And I mark the field required
And I click on the button labeled "Save" in the "Add New Field" dialog box
And I should see "must provide value" within the field with variable name "required_2"

##SETUP_PRODUCTION
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
When I click on the button labeled "Close" in the dialog box

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table row containing the following values in the codebook table:
  | [required_2] | Required 2 | text, Required |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Create project field                    |

Scenario: B.6.7.1800.200 Designating field as required through Data Dictionary upload

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "New Project"
And I enter "B.6.7.1700.200" into the input field labeled "Project title"
And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
And I click on the radio labeled "Empty project (blank slate)"
And I click on the button labeled "Create Project"
Then I should see "Your new REDCap project has been created"
And I should see "B.6.7.1700.200"

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload data dictionary
When I click on the link labeled "Dictionary"
And I upload a "csv" format file located at "dictionaries/Project1xml_DataDictionary.csv", by clicking the button near "Choose File" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and awaits your confirmation below."

When I click on the button labeled "Commit Changes"
Then I should see "Changes Made Successfully!"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table row containing the following values in the codebook table:
  | [required] | Required | text, Required |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Online%20Designer_7/B.6.7.1900%20-%20Field%20Management.feature

Feature: Field Creation: The system shall support the ability to add, edit, copy, move and delete data collection fields.

As a REDCap end user I want to see that Project Designer is functioning as expected

Scenario: B.6.7.1900.100 Add, edit, copy, move and delete fields #SETUP Given I login to REDCap with the user “Test_Admin”

# BEGIN: STEPS FOR ATS
# - EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, project request behavior does not work properly
# - CUSTOM MESSAGE SET - Makes the dialog box pop up when requesting a project
Given I click on the link labeled "Control Center"
And I click on the link labeled "General Configuration"
Then I should see "General Configuration"

When I enter "redcap@test.instance" into the input field labeled "Email Address of REDCap Administrator"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed"
# END: STEPS FOR ATS ###

And I create a new project named "B.6.7.1900.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"
And I logout

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.1900.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Online Designer"
Then I should see "Data Collection Instruments"

When I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#FUNCTIONAL_REQUIREMENT
##ACTION: add field
When I click on the instrument labeled "Data Types"
#MANUAL NOTE: the last button is the one at the bottom of the instrument
And I click on the last button labeled "Add Field"
When I select "Text Box (Short Text, Number, Date/Time, ...)" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "Add Field" into the Field Label of the open "Add New Field" dialog box
And I enter "add" into the Variable Name of the open "Add New Field" dialog box
And I click on the button labeled "Save" in the "Add New Field" dialog box

##VERIFY
Then I should see the field labeled "Add Field"

#FUNCTIONAL_REQUIREMENT
#ACTION: move field within instrument
And I drag the field variable named "add" below the field variable named "identifier"

##VERIFY
Then I should see the field named "Add Field" before field named "Identifier"

#FUNCTIONAL_REQUIREMENT
##ACTION: move field to another instrument
And I click on the Move image for the field named "Required"


#Then I should see "Move field to another location"
When I select "name" on the dropdown field labeled "Move the field above so that it will be located immediately *AFTER* the following field:" in the dialog box
And I click on the button labeled "Move field" in the dialog box
##VERIFY
Then I should see "Successfully moved" in the dialog box
And I should see 'The field was successfully moved to a new location on another data collection instrument named "Text Validation"' in the dialog box
And I click on the button labeled "Close" in the dialog box

Given I click on the button labeled "Return to list of instruments"
And I click on the instrument labeled "Text Validation"
Then I should see the field labeled "Required"

#FUNCTIONAL_REQUIREMENT
##ACTION: edit field
Given I click on the button labeled "Return to list of instruments"
And I click on the instrument labeled "Data Types"
And I click on the Edit image for the field named "Radio Button Manual"
And I clear field and enter Choices of "9..9, Choice99" into the open "Edit Field" dialog box
And I enter Choices of "100, Choice100" into the open "Edit Field" dialog box
And I enter Choices of "101, Choice101" into the open "Edit Field" dialog box
And I enter Choices of "Abc123, Choice Abc123" into the open "Edit Field" dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

##VERIFY
Then I should see the field labeled "Radio Button Manual"
And I should see the radio field labeled "Radio Button Manual" with the options below
  | Choice99  |
  | Choice100 |
  | Choice101 |
  | Abc123    |

#FUNCTIONAL_REQUIREMENT
##ACTION: copy field
Given I see the field labeled "Notes box"
And I click on the Copy image for the field named "Notes box"
And I click on the button labeled "Cancel" in the dialog box
Then I should NOT see "notesbox_2"

Given I see the field labeled "Notes box"
And I click on the Copy image for the field named "Notes box"
And I click on the button labeled "Copy field" in the dialog box
##VERIFY
Then I should see "notesbox_2"

#FUNCTIONAL_REQUIREMENT
##ACTION: delete field
Given I see the field labeled "Multiple Choice Dropdown Manual"
And I click on the Delete Field image for the field named "Multiple Choice Dropdown Manual"
And I click on the button labeled "Delete" in the dialog box

##VERIFY
Then I should NOT see a field labeled "Multiple Choice Dropdown Manual"

##VERIFY_DRAFT_CHANGES
When I click on the link labeled "View detailed summary of all drafted changes"

Then I should see "Fields to be ADDED:"
And I should see 'notesbox_2 "Notes box"'
And I should see 'add "Add Field"'
And I should see "Fields to be DELETED:"
And I should see 'multiple_dropdown_manual "Multiple ...  Manual" (8 records/events affected)'
Then I should see a table row containing the following values in a table:
  | Variable Name       | Choices or Calculations |
  | radio_button_manual | 9..9, Choice99          |
  | radio_button_manual | 100, Choice100          |
  | radio_button_manual | 101, Choice101          |
  | radio_button_manual | Abc123, Choice Abc123   |

##SETUP_PRODUCTION
When I click on the button labeled "RETURN TO PREVIOUS PAGE"
And I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Awaiting review of project changes"
And I logout

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "My Projects"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.6.7.1900.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Online Designer"
Then I should see "Project Modification Module"

When I click on the button labeled "Project Modification Module"
And I click on the button labeled "COMMIT CHANGES"
And I click on the button labeled "COMMIT CHANGES" in the dialog box
Then I should see "Project Changes Committed / User Notified"

##VERIFY_CODEBOOK
When I click on the link labeled "Codebook"
Then I should see a table header and rows containing the following values in the codebook table:
  | Variable / Field Name | Field Label         | Field Attributes |
  | [add]                 | Add Field           | text             |
  | [radio_button_manual] | Radio Button Manual | Choice Abc123    |
  | [notesbox_2]          | Notes box           | notes            |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username  | Action        | List of Data Changes OR Fields Exported |
  | test_user | Manage/Design | Delete project field                    |
  | test_user | Manage/Design | Copy project field                      |
  | test_user | Manage/Design | Edit project field                      |
  | test_user | Manage/Design | Move project field                      |
  | test_user | Manage/Design | Create project field                    |

Comments:

Comment:

Author: MintooXavier Updated on: 7/8/2024 2:29:02 PM

Comment body:

Scripts Pre-reviewed:

  1. B.6.7.100 - New Instruments via Data Dictionary
  2. B.6.7.200 - Create Instrument
  3. B.6.7.300 - Rename Instrument
  4. B.6.7.400 - Copy Instrument
  5. B.6.7.500 - Delete Instrument
  6. B.6.7.600 - Reorder Instrument
  7. B.6.7.700 - Field Textbox
  8. B.6.7.800 - Field Notes
  9. B.6.7.900 - Field Calculated
  10. B.6.7.1000 - Field Multiple Choice
  11. B.6.7.1100 - Field Multiple Choice Radio - script missing
  12. B.6.7.1200 - Field Checkbox
  13. B.6.7.1300 - Field Signature
  14. B.6.7.1400 - Field File Upload
  15. B.6.7.1500 - Field Descriptive Text
  16. B.6.7.1600 - Field New Section
  17. B.6.7.1700 - Identifier Fields - Assign user rights twice else doesn’t work for me
  18. B.6.7.1800 - Required Fields
  19. B.6.7.1900 - Field Management - Assign user rights twice else doesn’t work for me

Comment edits:

Created: 7/8/2024 2:29:02 PM Edited on: 7/8/2024 2:29:02 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.6.7.100 - New Instruments via Data Dictionary
  2. B.6.7.200 - Create Instrument
  3. B.6.7.300 - Rename Instrument
  4. B.6.7.400 - Copy Instrument
  5. B.6.7.500 - Delete Instrument
  6. B.6.7.600 - Reorder Instrument
  7. B.6.7.700 - Field Textbox
  8. B.6.7.800 - Field Notes
  9. B.6.7.900 - Field Calculated
  10. B.6.7.1000 - Field Multiple Choice
  11. B.6.7.1100 - Field Multiple Choice Radio - script missing
  12. B.6.7.1200 - Field Checkbox
  13. B.6.7.1300 - Field Signature
  14. B.6.7.1400 - Field File Upload
  15. B.6.7.1500 - Field Descriptive Text
  16. B.6.7.1600 - Field New Section
  17. B.6.7.1700 - Identifier Fields - Assign user rights twice else doesn’t work for me
  18. B.6.7.1800 - Required Fields
  19. B.6.7.1900 - Field Management - Assign user rights twice else doesn’t work for me

Created: 7/8/2024 2:18:30 PM Edited on: 7/8/2024 2:18:30 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.6.7.100 - New Instruments via Data Dictionary
  2. B.6.7.200 - Create Instrument
  3. B.6.7.300 - Rename Instrument
  4. B.6.7.400 - Copy Instrument
  5. B.6.7.500 - Delete Instrument
  6. B.6.7.600 - Reorder Instrument
  7. B.6.7.700 - Field Textbox
  8. B.6.7.800 - Field Notes
  9. B.6.7.900 - Field Calculated
  10. B.6.7.1000 - Field Multiple Choice
  11. B.6.7.1100 - Field Multiple Choice Radio - script missing
  12. B.6.7.1200 - Field Checkbox
  13. B.6.7.1300 - Field Signature
  14. B.6.7.1400 - Field File Upload
  15. B.6.7.1500 - Field Descriptive Text
  16. B.6.7.1600 - Field New Section
  17. B.6.7.1700 - Identifier Fields
  18. B.6.7.1800 - Required Fields
  19. B.6.7.1900 - Field Management

Created: 7/8/2024 12:05:35 PM Edited on: 7/8/2024 12:05:35 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.6.7.100 - New Instruments via Data Dictionary
  2. B.6.7.200 - Create Instrument
  3. B.6.7.300 - Rename Instrument
  4. B.6.7.400 - Copy Instrument
  5. B.6.7.500 - Delete Instrument
  6. B.6.7.600 - Reorder Instrument
  7. B.6.7.700 - Field Textbox
  8. B.6.7.800 - Field Notes
  9. B.6.7.900 - Field Calculated
  10. B.6.7.1000 - Field Multiple Choice
  11. B.6.7.1100 - Field Multiple Choice Radio - script missing
  12. B.6.7.1200 - Field Checkbox
  13. B.6.7.1300 - Field Signature
  14. B.6.7.1400 - Field File Upload
  15. B.6.7.1500 - Field Descriptive Text
  16. B.6.7.1600 - Field New Section

Created: 7/8/2024 10:42:57 AM Edited on: 7/8/2024 10:42:57 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.6.7.100 - New Instruments via Data Dictionary
  2. B.6.7.200 - Create Instrument
  3. B.6.7.300 - Rename Instrument
  4. B.6.7.400 - Copy Instrument
  5. B.6.7.500 - Delete Instrument
  6. B.6.7.600 - Reorder Instrument
  7. B.6.7.700 - Field Textbox
  8. B.6.7.800 - Field Notes
  9. B.6.7.900 - Field Calculated
  10. B.6.7.1000 - Field Multiple Choice
  11. B.6.7.1100 - Field Multiple Choice Radio - script missing - not working
  12. B.6.7.1200 - Field Checkbox
  13. B.6.7.1300 - Field Signature
  14. B.6.7.1400 - Field File Upload
  15. B.6.7.1500 - Field Descriptive Text
  16. B.6.7.1600 - Field New Section

Created: 7/5/2024 3:10:17 PM Edited on: 7/5/2024 3:10:17 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.6.7.100 - New Instruments via Data Dictionary
  2. B.6.7.200 - Create Instrument
  3. B.6.7.300 - Rename Instrument
  4. B.6.7.400 - Copy Instrument
  5. B.6.7.500 - Delete Instrument
  6. B.6.7.600 - Reorder Instrument
  7. B.6.7.700 - Field Textbox
  8. B.6.7.800 - Field Notes
  9. B.6.7.900 - Field Calculated
  10. B.6.7.1000 - Field Multiple Choice
  11. B.6.7.1100 - Field Multiple Choice Radio - script missing
  12. B.6.7.1200 - Field Checkbox

Created: 7/5/2024 1:21:29 PM Edited on: 7/5/2024 1:21:29 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.6.7.100 - New Instruments via Data Dictionary
  2. B.6.7.200 - Create Instrument
  3. B.6.7.300 - Rename Instrument
  4. B.6.7.400 - Copy Instrument
  5. B.6.7.500 - Delete Instrument
  6. B.6.7.600 - Reorder Instrument

Created: 7/5/2024 1:21:29 PM Edited on: 7/5/2024 1:04:01 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.6.7.100 - New Instruments via Data Dictionary
  2. B.6.7.200 - Create Instrument
  3. B.6.7.300 - Rename Instrument
  4. B.6.7.400 - Copy Instrument
  5. B.6.7.500 - Delete Instrument

Comment:

Author: MintooXavier Updated on: 7/24/2024 12:31:44 PM

Comment body:
  1. B.6.7.500 - Delete Instrument
  1. B.6.7.600 - Reorder Instrument
  1. B.6.7.1100 - Field Multiple Choice Radio

Comment edits:

Created: 7/24/2024 12:31:44 PM Edited on: 7/24/2024 12:31:44 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.6.7.500 - Delete Instrument
  • Added steps to verify instrument is deleted
  • First instrument’s field count increases from 45 to 46 because of Record ID
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.600 - Reorder Instrument
  • Changed steps to verify initial instrument order because when viewing in a table the order doesn’t matter
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.1100 - Field Multiple Choice Radio
  • Script missing
  • Script added and pushed to MX_v13.1.37

Created: 7/8/2024 2:20:18 PM Edited on: 7/8/2024 2:20:18 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.6.7.500 - Delete Instrument
  • Added steps to verify instrument is deleted
  • First instruments field count increases
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.600 - Reorder Instrument
  • Changed steps to verify initial instrument order
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.1100 - Field Multiple Choice Radio
  • Script missing
  • Script added and pushed to MX_v13.1.37
  1. B.6.7.1800 - Required Fields
  • Change step to check required field
  • Script modified and pushed to MX_v13.1.37

Created: 7/8/2024 12:14:07 PM Edited on: 7/8/2024 12:14:07 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.6.7.500 - Delete Instrument
  • Added steps to verify instrument is deleted
  • First instruments field count increases
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.600 - Reorder Instrument
  • Changed steps to verify initial instrument order
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.1100 - Field Multiple Choice Radio
  • Script missing
  • Script added and pushed to MX_v13.1.37

Created: 7/8/2024 12:13:55 PM Edited on: 7/8/2024 12:13:55 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.6.7.500 - Delete Instrument
  • Added steps to verify instrument is deleted
  • First instruments field count increases
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.600 - Reorder Instrument
  • Changed steps to verify initial instrument order
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.1100 - Field Multiple Choice Radio
  • Script missing
  • Script added and pushed to MX_v13.1.37

Created: 7/8/2024 12:13:44 PM Edited on: 7/8/2024 12:13:44 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.6.7.500 - Delete Instrument
  • Added steps to verify instrument is deleted
  • First instruments field count increases
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.600 - Reorder Instrument
  • Changed steps to verify initial instrument order
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.1100 - Field Multiple Choice Radio 
  • Script missing
  • Script added and pushed to MX_v13.1.37

Created: 7/8/2024 12:13:28 PM Edited on: 7/8/2024 12:13:28 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.6.7.500 - Delete Instrument
  • Added steps to verify instrument is deleted
  • First instruments field count increases
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.600 - Reorder Instrument
  • Changed steps to verify initial instrument order
  • Script modified and pushed to MX_v13.1.37

B.6.7.1100 - Field Multiple Choice Radio - Script missing - Script added and pushed to MX_v13.1.37

Created: 7/8/2024 12:13:01 PM Edited on: 7/8/2024 12:13:01 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.6.7.500 - Delete Instrument
  • Added steps to verify instrument is deleted
  • First instruments field count increases
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.600 - Reorder Instrument
  • Changed steps to verify initial instrument order
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.1100 - Field Multiple Choice Radio 
  • Script missing
  • Script added and pushed to MX_v13.1.37

Created: 7/8/2024 12:11:56 PM Edited on: 7/8/2024 12:11:56 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.6.7.500 - Delete Instrument
  • Added steps to verify instrument is deleted
  • First instruments field count increases
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.600 - Reorder Instrument
  • Changed steps to verify initial instrument order
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.1100 - Field Multiple Choice Radio 
  • Script missing
  •  Script added and pushed to MX_v13.1.37

Created: 7/5/2024 2:17:31 PM Edited on: 7/5/2024 2:17:31 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.6.7.500 - Delete Instrument
  • Added steps to verify instrument is deleted
  • First instruments field count increases
  • Script modified and pushed to MX_v13.1.37
  1. B.6.7.600 - Reorder Instrument
  • Changed steps to verify initial instrument order
  • Script modified and pushed to MX_v13.1.37

Created: 7/5/2024 1:06:34 PM Edited on: 7/5/2024 1:06:34 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

B.6.7.500 - Delete Instrument - Added steps to verify instrument is deleted - First instruments field count increases - Script modified and pushed to MX_v13.1.37

Created: 7/5/2024 1:06:34 PM Edited on: 7/5/2024 1:06:19 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

B.6.7.500 - Delete Instrument - Added steps to verify instrument is deleted - Script modified and pushed to MX_v13.1.37

Comment:

Author: MintooXavier Updated on: 7/8/2024 2:31:43 PM

Comment body:

All scripts pass

Comment:

Author: MintooXavier Updated on: 7/29/2024 1:42:18 PM

Comment body:

ATS team accepted the changes


Timeline events:

LABELLED | User: MintooXavier Created on: 6/5/2024 12:58:17 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 6/5/2024 12:58:17 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 6/5/2024 12:58:17 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/5/2024 12:38:03 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/5/2024 1:04:01 PM Issue comment body:

Scripts Pre-reviewed:

  1. B.6.7.100 - New Instruments via Data Dictionary
  2. B.6.7.200 - Create Instrument
  3. B.6.7.300 - Rename Instrument
  4. B.6.7.400 - Copy Instrument
  5. B.6.7.500 - Delete Instrument
  6. B.6.7.600 - Reorder Instrument
  7. B.6.7.700 - Field Textbox
  8. B.6.7.800 - Field Notes
  9. B.6.7.900 - Field Calculated
  10. B.6.7.1000 - Field Multiple Choice
  11. B.6.7.1100 - Field Multiple Choice Radio - script missing
  12. B.6.7.1200 - Field Checkbox
  13. B.6.7.1300 - Field Signature
  14. B.6.7.1400 - Field File Upload
  15. B.6.7.1500 - Field Descriptive Text
  16. B.6.7.1600 - Field New Section
  17. B.6.7.1700 - Identifier Fields - Assign user rights twice else doesn’t work for me
  18. B.6.7.1800 - Required Fields
  19. B.6.7.1900 - Field Management - Assign user rights twice else doesn’t work for me
ISSUE COMMENT | User: MintooXavier Created on: 7/5/2024 1:06:19 PM Issue comment body:
  1. B.6.7.500 - Delete Instrument
  1. B.6.7.600 - Reorder Instrument
  1. B.6.7.1100 - Field Multiple Choice Radio

LABELLED | User: MintooXavier Created on: 7/8/2024 2:31:17 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 7/8/2024 2:31:43 PM Issue comment body:

All scripts pass

ISSUE COMMENT | User: MintooXavier Created on: 7/29/2024 1:42:18 PM Issue comment body:

ATS team accepted the changes

UNLABELLED | User: MintooXavier Created on: 7/29/2024 1:42:31 PM Label name: Question Label description: Further information is requested


————— feature ends —————



Feature: 14. Direct Data Entry - Data Collection Instrument

Id: I_kwDOIaOBn86QAEEj Uid: redcap_cypress-72
Author: MintooXavier Created: 7/18/2024 10:02:30 AM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/72
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:51:38 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to test the data entry through instruments or CRFs.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/14_direct_data_entry_with_data_collection_instrument%20.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.100%20-%20Create%20Record.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.200%20-%20Field%20Type%20Data%20Entry.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.300%20-%20Radio%20button%20behavior.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.400%20-%20Datetime%20Fields.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.500%20-%20Leave%20without%20Save.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.600%20-%20Save%20Options.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.700%20-%20Form%20status%20options.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.800%20-%20Record%20Status%20Dashboard.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.900%20-%20Rename%20Record.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.1000%20-%20Delete%20Form%20Data.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.1100%20-%20Delete%20Record%20Data.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.1200%20-%20Delete%20Record.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/14_direct_data_entry_with_data_collection_instrument%20.spec

B.3.14.100 - Creating a Record and Entering Data: The system shall support the ability to create a record
B.3.14.200 - Creating a Record and Entering Data: The system shall support data entry for the defined core field types.
B.3.14.300 - Creating a Record and Entering Data: The system shall support the ability to reset a multiple choice-radio button selection.
B.3.14.400 - Creating a Record and Entering Data: The system shall support the ability to use the following on date/time fields: (Date picker widget | Now button | Today button)
B.3.14.500 - Saving Data: The system shall support the prompt to save when a user attempts to navigate away from a data entry page without saving: (Save changes and leave | Leave without saving changes | Stay on page)
B.3.14.600 - Saving Data: The system shall support the ability to: (Save and stay | Save and exit | Cancel the data entered and leave the record without saving)
B.3.14.700 - Saving Data: The system shall support the following statuses for data instruments: (Incomplete (no data saved) | Incomplete | Unverified | Complete)
B.3.14.800 - Saving Data: The system shall support a Record Status Dashboard to display a listing of all existing records and data collection instrument form statuses.
B.3.14.900 - Renaming a Record: The system shall allow users to rename a record.
B.3.14.1000 - Deleting Data: The system shall allow users to delete all data on the current form of a given record.
B.3.14.1100 - Deleting Data: The system shall allow users to delete all data in an event for a given record.
B.3.14.1200 - Deleting Data: The system shall allow users to delete a record.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.100%20-%20Create%20Record.feature

Feature: Creating a Record and Entering Data: The system shall support the ability to create a record

As a REDCap end user I want to see that record creation is functioning as expected

Scenario: B.3.14.100.100 Create new record #SETUP_PRODUCTION Given I login to REDCap with the user “Test_Admin” And I create a new project named ” B.3.14.100.100 ” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_3.14.xml”, and clicking the “Create Project” button

When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I see Project status: "Production"

##SETUP_USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Add new user"
And I click on the button labeled "Add with custom rights"
And I uncheck the User Right named "Create Records"
And I check the User Right named "Logging"
And I click on the button labeled "Add user"
Then I should see "Test User1"

#FUNCTIONAL REQUIREMENT
##ACTION: create record
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument

##VERIFY
Then I should see "Record ID 7 successfully added"

##VERIFY_LOG:
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action         | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Create record7 | record_id = '7'                         |

#VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "7"
Then I should see "Record ID 7"

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID |
  | 7         |

And I logout

##ACTION: login as user without create record access - but can edit record
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.3.14.100.100"
And I click on the link labeled "View / Edit Records"
##VERIFY: Cannot add record
Then I should NOT see the button labeled "Add new record for the arm selected above"

###VERIFY Can edit existing record
And I select record ID "1" from arm name "Arm 1: Arm 1" on the View / Edit record page
And I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
And I clear field and enter "EDIT" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 1 successfully edited"

##VERIFY_LOG: Existing record updated
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action         | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | name = 'EDIT'                           |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.200%20-%20Field%20Type%20Data%20Entry.feature

Feature: Creating a Record and Entering Data: The system shall support data entry for the defined core field types.

As a REDCap end user I want to see that data entry for field type is functioning as expected

Scenario: B.3.14.200.100 Appropriate data entry by field type #ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.14.200.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.14.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "My Projects"
And I click on the link labeled "B.3.14.200.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 7"

#FUNCTIONAL REQUIREMENT
##ACTION: Data entry various field types
Given I select the radio option "Choice99" for the field labeled "radio"
And I select "DDChoice6" on the dropdown field labeled "Multiple Choice Dropdown Manual"
And I enter "Notes box" into the data entry form field labeled "Notes box 2"
And I select the checkbox option "Checkbox2" for the field labeled "Checkbox"

Given I click on the link labeled "Add signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

Given I click on the link labeled "Upload file"
And I upload a "docx" format file located at "import_files/File_Upload.docx", by clicking the button near "Upload file" to browse for the file, and clicking the button labeled "Upload file" to upload the file

Given I select the radio option "True" for the field labeled "True/False"
And I select the radio option "No" for the field labeled "Yes/No"
And I move the slider field labeled "Slider" to the position of 65
When I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 7 successfully added."

###VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action         | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 | radio = '9..9'                          |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 | multiple_dropdown_manual_2 = '6'        |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 | notesbox2 = 'Notes box'                 |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 | checkbox(1) = checked                   |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 | checkbox(2) = checked                   |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 | signature = '1'                         |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 | file_upload = '2'                       |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 | tf = '1'                                |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 | yn = '0'                                |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 | slider = '65'                           |

###VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Event name             | Repeat Instrument | Repeat Instance | Data Access Group | Survey Identifier | Name | Email | Complete? | radio           | Multiple Choice Dropdown Manual | Notes box 2 | Checkbox1   | Checkbox2   | Checkbox3     | Signature | File Upload | True/False | Yes/No | Slider |
  | 7         | Event 1 (Arm 1: Arm 1) | Data Types        | 1               |                   |                   |      |       |           | Choice99 (9..9) | DDChoice6 (6)                   | Notes box   | Checked (1) | Checked (1) | Unchecked (0) | [button]  | [button]    | True (1)   | No (0) | 65     |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.300%20-%20Radio%20button%20behavior.feature

Feature: Creating a Record and Entering Data: The system shall support the ability to reset a multiple choice-radio button selection.

As a REDCap end user I want to see that field reset is functioning as expected

Scenario: B.3.14.300.100 Reset multiple choice-radio button selection ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.14.300.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.14.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##ACTION
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 7"

When I select the radio option "Choice99" for the field labeled "radio"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see "Record ID 7 successfully edited"

When I click the "reset" link for the field labeled "radio"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record ID 7 successfully edited"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action         | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Update record7 | radio = ''                              |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 | radio = '9..9'                          |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | radio |
  | 7         |       |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.400%20-%20Datetime%20Fields.feature

Feature: Creating a Record and Entering Data: The system shall support the ability to use the following on date/time fields: (Date picker widget | Now button | Today button)

As a REDCap end user I want to see that date/time widget is functioning as expected

Scenario: B.3.14.400.100 Data entry for Date/time validated fields #ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.14.400.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.14.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 7"

#FUNCTIONAL REQUIREMENT
##ACTION: Date/time widget icon
Given I click on the date picker widget on the field labeled "datetime YMD HMSS"
And I select "Aug" in the dropdown of the open date picker widget for "datetime YMD HMSS"
And I select "2023" in the dropdown of the open date picker widget for "datetime YMD HMSS"
And I click on the link labeled exactly "1" in the open date picker widget
And I move the Hour slider for the open date picker widget to 0
And I move the Minute slider for the open date picker widget to 0
And I click on the button labeled "Done" in the open date picker widget

##VERIFY
Then I should see the date and time "2023-08-01 00:00:00" in the field labeled "datetime YMD HMSS"

##ACTION: Now button
When I click on the "Now" button for the field labeled "time HH:MM:SS"
##VERIFY
Then I should see the exact time in the field labeled "time HH:MM:SS"

##ACTION: Today button
When I click on the "Today" button for the field labeled "date YMD"
##VERIFY
Then I should see today's date in the field labeled "date YMD"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.500%20-%20Leave%20without%20Save.feature

Feature: Saving Data: The system shall support the prompt to save when a user attempts to navigate away from a data entry page without saving: (Save changes and leave | Leave without saving changes | Stay on page)

As a REDCap end user I want to see that leave without saving data entry page navigation is functioning as expected

Scenario: B.3.14.500.100 Navigate away from a data entry page options ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.14.500.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.14.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL_REQUIREMENT
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 7"

##ACTION Navigate away from the record
And I click on the link labeled "Project Setup"

##VERIFY
Then I should see a dialog containing the following text: "Save your changes"
And I should see a button labeled "Save changes and leave" in the dialog box
And I should see a button labeled "Leave without saving changes" in the dialog box
And I should see a button labeled "Stay on page" in the dialog box

##ACTION Leave without saving changes
When I click on the button labeled "Leave without saving changes"
##VERIFY
Then I should see "Main project settings"

##VERIFY_LOG:
# We should not see any evidence in the log that a record was created
When I click on the link labeled "Logging"
Then I should NOT see "Create record"

#FUNCTIONAL_REQUIREMENT
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I should see "Adding new Record ID 7"
And I click on the link labeled "Project Setup"
Then I should see a dialog containing the following text: "Save your changes"

##ACTION Save changes and leave
When I click on the button labeled "Save changes and leave" in the dialog box
##VERIFY
Then I should see "Main project settings"

##VERIFY_LOG:
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action         | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Create record7 |                                         |

#FUNCTIONAL_REQUIREMENT
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I click on the link labeled "Project Setup"
Then I should see a dialog containing the following text: "Save your changes"

##ACTION Stay on page
When I click on the button labeled "Stay on page" in the dialog box
##VERIFY
Then I should see "Adding new Record ID 8"
And I should see a checkbox labeled "Checkbox1" that is checked

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.600%20-%20Save%20Options.feature

Feature: Saving Data: The system shall support the ability to: (Save and stay | Save and exit | Cancel the data entered and leave the record without saving)

As a REDCap end user I want to see that saving data is functioning as expected

Scenario: B.3.14.600.100 Save data options from data entry page #ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.14.600.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.14.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP create record
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 7"

#FUNCTIONAL_REQUIREMENT:
##ACTION: cancel data
When I enter "CANCEL" into the data entry form field labeled "Name"
And I click on the button labeled "Cancel"

#MANUAL-ONLY step: Automated accepts confirmation windows because of default Cypress behavior
#And I click on the button labeled "OK" in the pop-up box

##VERIFY
Then I should see "Record ID 7 data entry cancelled - not saved"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should NOT see "Create record"

#FUNCTIONAL_REQUIREMENT:
##ACTION: SAVE & STAY
Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 7"

When I enter "SAVE & STAY" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
##VERIFY
Then I should see "Record ID 7 successfully edited."

#SETUP create record
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 8"

#FUNCTIONAL_REQUIREMENT:
##ACTION  SAVE & Go To Next Form
When I enter "SAVE & GO TO NEXT FORM" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Go To Next Form" on the Data Collection Instrument
##VERIFY
Then I should see "Data Types"

#SETUP create record
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Leave without saving changes" in the dialog box
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 9"

#FUNCTIONAL_REQUIREMENT:
##ACTION Save & Exit Record
When I enter "SAVE & EXIT RECORD" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Exit Record" on the Data Collection Instrument
##VERIFY
Then I should see "Add / Edit Records"

#SETUP create record
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 10"

When I select the submit option labeled "Save & Exit Record" on the Data Collection Instrument
Then I should see "Record ID 10 successfully edited"

#FUNCTIONAL_REQUIREMENT:
##ACTION Save & Go To Next Record
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 11"

When I select the submit option labeled "Save & Exit Record" on the Data Collection Instrument
Then I should see "Record ID 11 successfully edited"

Given I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "10" and click on the bubble
When I enter "SAVE & GO TO NEXT RECORD" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Go To Next Record" on the Data Collection Instrument
##VERIFY
Then I should see "Record ID 10 successfully edited."
And I should see "Now displaying the next record: Record ID 11"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action          | List of Data Changes OR Fields Exported |
  | test_user1 | Update record10 | name = 'SAVE & GO TO NEXT RECORD'       |
  | test_user1 | Create record9  | name = 'SAVE & EXIT RECORD'             |
  | test_user1 | Create record8  | name = 'SAVE & GO TO NEXT FORM'         |
  | test_user1 | Create record7  | name = 'SAVE & STAY'                    |

##VERIFY_DE:
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see "All data (all records and fields)"
And I should see a table header and rows containing the following values in the report data table:
  | Record ID | Event Name             | Name                     |
  | 7         | Event 1 (Arm 1: Arm 1) | SAVE & STAY              |
  | 8         | Event 1 (Arm 1: Arm 1) | SAVE & GO TO NEXT FORM   |
  | 9         | Event 1 (Arm 1: Arm 1) | SAVE & EXIT RECORD       |
  | 10        | Event 1 (Arm 1: Arm 1) | SAVE & GO TO NEXT RECORD |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.700%20-%20Form%20status%20options.feature

Feature: Saving Data: The system shall support the following statuses for data instruments: (Incomplete (no data saved) | Incomplete | Unverified | Complete)

As a REDCap end user I want to see that statuses for data instruments is functioning as expected

Scenario: B.3.14.700.100 Statuses for data instruments ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.14.700.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.14.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL_REQUIREMENT
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
##ACTION  Set record status to Incomplete (No data)
And I should see the dropdown field labeled "Complete?" with the option "Incomplete" selected
And I click on the button labeled "Cancel"
Then I should see "Record ID 7 data entry cancelled - not saved."

#VERIFY_RECORD_HOMEPAGE: Incomplete - save and stay (No data)
Then I should see the "Incomplete (no data saved)" icon for the "Text Validation" longitudinal instrument on event "Event 1"

#FUNCTIONAL_REQUIREMENT
Given I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
##ACTION  Set record status to Incomplete (W/ data)
And I clear field and enter "Incomplete with data" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 7 successfully added."

#VERIFY_RECORD_HOMEPAGE: Incomplete - save and stay (W/ data)
And I should see the "Incomplete" icon for the "Text Validation" longitudinal instrument on event "Event 1"

#FUNCTIONAL_REQUIREMENT
Given I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
##ACTION  Set record status to Unverified
And I select "Unverified" on the dropdown field labeled "Complete?"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 7 successfully edited."

#VERIFY_RECORD_HOMEPAGE: Unverified
And I should see the "Unverified" icon for the "Text Validation" longitudinal instrument on event "Event 1"

#FUNCTIONAL_REQUIREMENT
Given I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
##ACTION  Set record status to Complete
And I select "Complete" on the dropdown field labeled "Complete?"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 7 successfully edited."

#VERIFY_RECORD_HOMEPAGE: Complete
And I should see the "Complete" icon for the "Text Validation" longitudinal instrument on event "Event 1"

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Event Name             | Complete? text_validation_complete |
  | 7         | Event 1 (Arm 1: Arm 1) | Complete (2)                       |
  | 1         | Event 2 (Arm 1: Arm 1) | Unverified (1)                     |
  | 1         | Event 1 (Arm 1: Arm 1) | Incomplete (0)                     |
  | 3         | Event 1 (Arm 1: Arm 1) | Incomplete (0)                     |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.800%20-%20Record%20Status%20Dashboard.feature

Feature: Saving Data: The system shall support a Record Status Dashboard to display a listing of all existing records and data collection instrument form statuses.

As a REDCap end user I want to see that record status dashboard is functioning as expected

Scenario: B.3.14.800.100 record status dashboard display #SETUP Given I login to REDCap with the user “Test_User1” And I create a new project named “B.3.14.800.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_3.14.xml”, and clicking the “Create Project” button And I click on the link labeled “My Projects” And I click on the link labeled “B.3.14.800.100”

#FUNCTIONAL REQUIREMENT
##ACTION - View Record Status Dashboard
When I click on the link labeled "Record Status Dashboard"

##VERIFY
Then I should see "Default dashboard"
And I should see the link labeled exactly "1"
And I should see the "Incomplete" icon for the "Text Validation" longitudinal instrument on event "Event 1" for record "1"
And I should see the link labeled "Arm 2:Arm Two"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.900%20-%20Rename%20Record.feature

Feature: Renaming a Record: The system shall allow users to rename a record.

As a REDCap end user I want to see that rename record is functioning as expected

Scenario: B.3.14.900.100 Rename record #ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.14.900.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.14.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SET UP_USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

##VERIFY - INITIAL RECORD ROW IN REPORT
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Email          |
  | 1         | email@test.edu |

#FUNCTIONAL REQUIREMENT
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
##ACTION Rename record
When I click on the span element labeled "Choose action for record"
And I click on the link labeled "Rename record"
Then I should see a dialog containing the following text: 'Rename record "1"'

Given I clear field and enter "1.A" into the input field labeled 'Rename record "1"' in the dialog box
And I click on the button labeled "Rename record" in the dialog box
Then I should see "Record ID 1.A was successfully renamed!"

#VERIFY_RSD: Record 1 is now 1.A
When I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
Then I should see a link labeled exactly "1.A"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action         | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | record_id = '1.A'                       |

##VERIFY_DE - FIND SAME RECORD AFTER RENAME
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Email          |
  | 1.A       | email@test.edu |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.1000%20-%20Delete%20Form%20Data.feature

Feature: Deleting Data: The system shall allow users to delete all data on the current form of a given record.

As a REDCap end user I want to see that delete record is functioning as expected

Scenario: B.3.14.1000.100 Delete all data in a form for a record form ###ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.14.000.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.14.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SET UP_USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

##ACTION
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event Three" for record ID "1" and click on the bubble
Then I should see "Name" in the data entry form field "Name"
And I should see a button labeled "Delete data for THIS FORM only"

#FUNCTIONAL_REQUIREMENT
When I click on the button labeled "Delete data for THIS FORM only"
And I click on the button labeled "Delete data for THIS FORM only" in the dialog box
Then I should see "Record ID 1 successfully edited."

Given I click on the link labeled "Record Status Dashboard"
Then I should see the "Incomplete (no data saved)" icon for the "Survey" longitudinal instrument on event "Event Three" for record "1"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action         | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | email_survey = ''                       |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | name_survey = ''                        |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | survey_complete = ''                    |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | email_survey | name_survey | survey_complete |
  | 1         |              |             | Incomplete (0)  |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.1100%20-%20Delete%20Record%20Data.feature

Feature: Deleting Data: The system shall allow users to delete all data in an event for a given record.

As a REDCap end user I want to see that delete all data is functioning as expected

Scenario: B.3.14.1100.100 Delete all data in an event for a given record ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.14.1100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.14.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SET UP_USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

##VERIFY - COUNT OF ROWS
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see the report with 19 rows

#FUNCTIONAL_REQUIREMENT
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"

###ACTION delete this event
Given I click the "X" icon for the row labeled "Delete all data on event:" on the event column labeled "Event 1"
Then I should see a dialog containing the following text: 'DELETE ALL DATA ON THIS EVENT FOR RECORD "1"?'

Given I click on the button labeled "Delete this event" in the dialog box
Then I should see "Record ID 1 successfully deleted entire event of data"

#VERIFY
Given I click on the link labeled "Record Status Dashboard"
Then I should see the "Incomplete (no data saved)" icon for the "Text Validation" longitudinal instrument on event "Event 1" for record "1"
And I should see the "Incomplete (no data saved)" icon for the "Data Types" longitudinal instrument on event "Event 1" for record "1"
And I should see the "Incomplete (no data saved)" icon for the "Consent" longitudinal instrument on event "Event 1" for record "1"

#VERIFY_LOG:
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action         | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | calc_test = ''                          |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | data_types_complete = ''                |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | dob = ''                                |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | email = ''                              |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | email_consent = ''                      |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | name_consent = ''                       |
  | mm/dd/yyyy hh:mm | test_user1 | Update record1 | text_validation_complete = ''           |

##VERIFY - COUNT OF ROWS
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

#Notice how we have 2 less rows than line 42 because we have removed an entire event from a Record
When I click on the button labeled "View Report"
Then I should see the report with 17 rows

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Data%20Collection%20Instrument_14/B.3.14.1200%20-%20Delete%20Record.feature

Feature: Deleting Data: The system shall allow users to delete a record

As a REDCap end user I want to see that user rights to delete data is functioning as expected

Scenario: B.3.14.1200.100 Delete record #ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.14.1200.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.14.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SET UP_USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
When I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

##VERIFY - COUNT OF ROWS
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see the report with 19 rows

##ACTION
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
Then I should see "Record Home Page"
And I should see "Record ID 1"

##FUNCTIONAL_REQUIREMENT
###ACTION Delete record
When I click on the span element labeled "Choose action for record"
And I click on the link labeled "Delete record (all forms/events)"
Then I should see a dialog containing the following text: 'DELETE RECORD "1"?'

Given I click on the button labeled "DELETE RECORD" in the dialog box
##VERIFY
Then I should see a dialog containing the following text: 'Record ID "1" was successfully deleted'
And I click on the button labeled "Close" in the dialog box

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action         | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Delete record1 | record_id = '1'                         |

##VERIFY - COUNT OF ROWS
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see the report with 14 rows

Comments:

Comment:

Author: MintooXavier Updated on: 7/22/2024 2:39:43 PM

Comment body:

Scripts pre-reviewed:

  1. B.3.14.100 - Create Record
  2. B.3.14.200 - Field Type Data Entry
  3. B.3.14.300 - Radio button behavior
  4. B.3.14.400 - Datetime Fields
  5. B.3.14.500 - Leave without Save
  6. B.3.14.600 - Save Options
  7. B.3.14.700 - Form status options
  8. B.3.14.800 - Record Status Dashboard
  9. B.3.14.900 - Rename Record - Assign user rights twice else doesn’t work for me
  10. B.3.14.1000 - Delete Form Data.feature - Assign user rights twice else doesn’t work for me
  11. B.3.14.1100 - Delete Record Data.feature - Assign user rights twice else doesn’t work for me
  12. B.3.14.1200 - Delete Record .feature - Assign user rights twice else doesn’t work for me

All scripts pass

Comment edits:

Created: 7/22/2024 2:39:43 PM Edited on: 7/22/2024 2:39:43 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.3.14.100 - Create Record 2. B.3.14.200 - Field Type Data Entry 3. B.3.14.300 - Radio button behavior 4. B.3.14.400 - Datetime Fields 5. B.3.14.500 - Leave without Save 6. B.3.14.600 - Save Options 7. B.3.14.700 - Form status options 8. B.3.14.800 - Record Status Dashboard 9. B.3.14.900 - Rename Record - Assign user rights twice else doesn’t work for me 10. B.3.14.1000 - Delete Form Data.feature - Assign user rights twice else doesn’t work for me 11. B.3.14.1100 - Delete Record Data.feature - Assign user rights twice else doesn’t work for me 12. B.3.14.1200 - Delete Record .feature - Assign user rights twice else doesn’t work for me

All scripts pass

Created: 7/22/2024 2:36:49 PM Edited on: 7/22/2024 2:36:49 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.3.14.100 - Create Record 2. B.3.14.200 - Field Type Data Entry 3. B.3.14.300 - Radio button behavior 4. B.3.14.400 - Datetime Fields 5. B.3.14.500 - Leave without Save 6. B.3.14.600 - Save Options 7. B.3.14.700 - Form status options 8. B.3.14.800 - Record Status Dashboard 9. B.3.14.900 - Rename Record - Assign user rights twice else doesn’t work for me 10. B.3.14.1000 - Delete Form Data.feature - Assign user rights twice else doesn’t work for me 11. B.3.14.1100 - Delete Record Data.feature - Assign user rights twice else doesn’t work for me 12. B.3.14.1200 - Delete Record .feature - Assign user rights twice else doesn’t work for me

Created: 7/22/2024 2:21:06 PM Edited on: 7/22/2024 2:21:06 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.3.14.100 - Create Record 2. B.3.14.200 - Field Type Data Entry 3. B.3.14.300 - Radio button behavior 4. B.3.14.400 - Datetime Fields 5. B.3.14.500 - Leave without Save 6. B.3.14.600 - Save Options 7. B.3.14.700 - Form status options 8. B.3.14.800 - Record Status Dashboard 9. B.3.14.900 - Rename Record - Assign user rights twice else doesn’t work for me 10. B.3.14.1000 - Delete Form Data.feature - Assign user rights twice else doesn’t work for me

Created: 7/22/2024 2:06:58 PM Edited on: 7/22/2024 2:06:58 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.3.14.100 - Create Record 2. B.3.14.200 - Field Type Data Entry 3. B.3.14.300 - Radio button behavior 4. B.3.14.400 - Datetime Fields 5. B.3.14.500 - Leave without Save 6. B.3.14.600 - Save Options 7. B.3.14.700 - Form status options 8. B.3.14.800 - Record Status Dashboard 9. B.3.14.900 - Rename Record - Assign user rights twice else doesn’t work for me

Created: 7/22/2024 1:58:46 PM Edited on: 7/22/2024 1:58:46 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.3.14.100 - Create Record 2. B.3.14.200 - Field Type Data Entry 3. B.3.14.300 - Radio button behavior 4. B.3.14.400 - Datetime Fields 5. B.3.14.500 - Leave without Save 6. B.3.14.600 - Save Options 7. B.3.14.700 - Form status options 8. B.3.14.800 - Record Status Dashboard

Created: 7/22/2024 1:49:36 PM Edited on: 7/22/2024 1:49:36 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.3.14.100 - Create Record 2. B.3.14.200 - Field Type Data Entry 3. B.3.14.300 - Radio button behavior 4. B.3.14.400 - Datetime Fields 5. B.3.14.500 - Leave without Save 6. B.3.14.600 - Save Options 7. B.3.14.700 - Form status options

Created: 7/22/2024 12:24:54 PM Edited on: 7/22/2024 12:24:54 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.3.14.100 - Create Record 2. B.3.14.200 - Field Type Data Entry 3. B.3.14.300 - Radio button behavior 4. B.3.14.400 - Datetime Fields 5. B.3.14.500 - Leave without Save 6. B.3.14.600 - Save Options

Created: 7/22/2024 8:59:41 AM Edited on: 7/22/2024 8:59:41 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.3.14.100 - Create Record 2. B.3.14.200 - Field Type Data Entry 3. B.3.14.300 - Radio button behavior 4. B.3.14.400 - Datetime Fields

Created: 7/22/2024 8:48:09 AM Edited on: 7/22/2024 8:48:09 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.3.14.100 - Create Record 2. B.3.14.200 - Field Type Data Entry 3. B.3.14.300 - Radio button behavior

Created: 7/22/2024 8:46:48 AM Edited on: 7/22/2024 8:46:48 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.3.14.100 - Create Record 2. B.3.14.200 - Field Type Data Entry

Created: 7/22/2024 8:46:48 AM Edited on: 7/22/2024 8:30:27 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.3.14.100 - Create Record

Comment:

Author: MintooXavier Updated on: 7/22/2024 9:18:38 AM

Comment body:
  1. B.3.14.500 - Leave without Save

Comment:

Author: MintooXavier Updated on: 7/29/2024 1:42:57 PM

Comment body:

ATS team accepted the changes


Timeline events:

LABELLED | User: MintooXavier Created on: 7/18/2024 10:02:30 AM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/18/2024 10:02:30 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/18/2024 10:02:30 AM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/18/2024 10:02:31 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/22/2024 8:30:27 AM Issue comment body:

Scripts pre-reviewed:

  1. B.3.14.100 - Create Record
  2. B.3.14.200 - Field Type Data Entry
  3. B.3.14.300 - Radio button behavior
  4. B.3.14.400 - Datetime Fields
  5. B.3.14.500 - Leave without Save
  6. B.3.14.600 - Save Options
  7. B.3.14.700 - Form status options
  8. B.3.14.800 - Record Status Dashboard
  9. B.3.14.900 - Rename Record - Assign user rights twice else doesn’t work for me
  10. B.3.14.1000 - Delete Form Data.feature - Assign user rights twice else doesn’t work for me
  11. B.3.14.1100 - Delete Record Data.feature - Assign user rights twice else doesn’t work for me
  12. B.3.14.1200 - Delete Record .feature - Assign user rights twice else doesn’t work for me

All scripts pass

ISSUE COMMENT | User: MintooXavier Created on: 7/22/2024 9:18:38 AM Issue comment body:
  1. B.3.14.500 - Leave without Save

LABELLED | User: MintooXavier Created on: 7/22/2024 2:40:34 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 7/29/2024 1:42:57 PM Issue comment body:

ATS team accepted the changes

UNLABELLED | User: MintooXavier Created on: 7/29/2024 1:43:08 PM Label name: Question Label description: Further information is requested


————— feature ends —————



Feature: 6. Assign User Rights

Id: I_kwDOIaOBn86LNn-I Uid: redcap_cypress-34
Author: MintooXavier Created: 6/5/2024 11:09:04 AM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/34
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:46:05 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to tests the access rights (access to CRFS, data export right, etc) of a user within a project.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/06_assign_user_rights.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Assign%20User%20Rights_6/B.2.6.100%20-%20Basic%20Privileges.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Assign%20User%20Rights_6/B.2.6.200%20-%20Data%20Entry%20Form%20Access.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Assign%20User%20Rights_6/B.2.6.300%20-%20Data%20Export%20Rights.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Assign%20User%20Rights_6/B.2.6.400%20-%20Creating%20Copying%20Deleting%20Roles.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Assign%20User%20Rights_6/B.2.6.500%20-%20Adding%20and%20Removing%20Users%20from%20Roles.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/06_assign_user_rights.spec

B.2.6.100 - Project Level: The system shall allow the ability to add, edit or delete user access to application tools for Basic Privileges and expiration date.
B.2.6.200 - Project Level: The system shall allow data entry form user access to be (No Access / Read Only / View & Edit / Edit survey responses).
B.2.6.300 - Project Level: The system shall allow instrument level data export rights to be (No Access, De-Identified, Remove All Identifier Fields, Full Data Set).
B.2.6.400 - Project Level: The system shall allow for the creation, copying and deletion of user roles.
B.2.6.500 - Project Level: The system shall support adding and removing users from user roles.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Assign%20User%20Rights_6/B.2.6.100%20-%20Basic%20Privileges.feature

Feature: B.2.6.100 Assign user rights Project Level: The system shall allow the ability to add, edit or delete user access to application tools for “Basic Privileges” and expiration date.

As a REDCap end user I want to see that project level user access is functioning as expected

Scenario: B.2.6.100.100 Project level User Rights functions (Add, Edit, Expire, Remove) #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.6.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button And I click on the link labeled “My Projects” And I click on the link labeled “B.2.6.100.100” When I click on the link labeled “Project Setup” And I click on the button labeled “Move project to production” And I click on the radio labeled “Keep ALL data saved so far” in the dialog box And I click on the button labeled “YES, Move to Production Status” in the dialog box to request a change in project status Then I should see Project status: “Production”

#FUNCTIONAL REQUIREMENT
##ACTION: Add User with Basic custom rights

When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I should see a dialog containing the following text: "Adding new user"

When I remove all Basic Rights within the open User Rights dialog box
And I save changes within the context of User Rights

##VERIFY_LOG: Verify Update user rights
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action   | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Add user | user = 'test_admin'                     |

##ACTION #CROSS-FEATURE B.2.23.100: Verify Logging Filter by user name
When I select "test_admin" on the dropdown field labeled "Filter by user name"

##VERIFY_LOG #CROSS-FEATURE: Verify Logging Filter by user name
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action   | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Add user | user = 'Test_User1'                     |
And I logout

##VERIFY: Verify User with Basic custom rights
Given I login to REDCap with the user "Test_User1"
Then I should see "Logged in as"

When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.100.100"
Then I should see a link labeled "Project Home"
And I should NOT see a link labeled "Project Setup"
And I should NOT see a link labeled "Designer"
And I should NOT see a link labeled "Dictionary"
And I should see a link labeled "Codebook"
And I should NOT see a link labeled "Survey Distribution Tools"
And I should see a link labeled "Record Status Dashboard"
And I should see a link labeled "View / Edit Records"
And I should see "Applications"
And I should NOT see a link labeled "Project Dashboards"
And I should NOT see a link labeled "Alerts & Notifications"
And I should NOT see a link labeled "Multi-Language Management"
And I should NOT see a link labeled "Calendar"
And I should NOT see a link labeled "Data Import Tool"
And I should NOT see a link labeled "Logging and Email Logging"
And I should see a link labeled "Field Comment Log"
And I should NOT see a link labeled "File Repository"
And I should NOT see a link labeled "Data Comparison Tool"
And I should NOT see a link labeled "User Rights and DAGs"
And I should NOT see a link labeled "Customize & Manage Locking/E-signatures"
And I should NOT see a link labeled "Data Quality"
And I should NOT see a link labeled "API and API Playground"
And I should NOT see a link labeled "REDCap Mobile App"
And I logout

##ACTION: Edit User to full custom rights
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.100.100"
And I click on the link labeled "User Rights"
And I click on the link labeled "Test User1"
And I click on the button labeled "Edit user privileges" on the tooltip
Then I should see a dialog containing the following text: "Editing existing user"

When I check the User Right named "Project Setup & Design"
And I check the User Right named "User Rights"
And I check the User Right named "Data Access Groups"
And I check the User Right named "Survey Distribution Tools"
And I check the User Right named "Alerts & Notifications"
And I check the User Right named "Calendar"
And I check the User Right named "Add/Edit/Organize Reports"
And I check the User Right named "Stats & Charts"
And I check the User Right named "Data Import Tool"
And I check the User Right named "Data Comparison Tool"
And I check the User Right named "Logging"
And I check the User Right named "File Repository"
And I check the User Right named "Data Quality - Create & edit rules"
And I check the User Right named "Data Quality - Execute rules"
And I check the User Right named "API Export"
And I check the User Right named "API Import/Update"
And I check the User Right named "Create Records"
And I check the User Right named "Rename Records"
And I check the User Right named "Delete Records"
And I check the User Right named "Record Locking Customization"

And I select the User Right named "Lock/Unlock Records" and choose "Locking / Unlocking"
And I check the User Right named "Lock/Unlock *Entire* Records (record level)"

And I check the User Right named "REDCap Mobile App - Allow users to collect data offline in the mobile app"
Then I should see a dialog containing the following text: "Confirm Mobile App Privileges"
And I click on the button labeled "Yes, I understand"

And I check the User Right named "REDCap Mobile App - Allow user to download data for all records to the app?"
And I save changes within the context of User Rights

##VERIFY_LOG: Verify Update user rights
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action      | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Update user | user = 'test_user1'                     |
And I logout

##VERIFY: Verify User with full custom rights
Given I login to REDCap with the user "Test_User1"
Then I should see "Logged in as"

When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.100.100"
Then I should see a link labeled "Project Home"
And I should see a link labeled "Project Setup"
And I should see a link labeled "Designer"
And I should see a link labeled "Dictionary"
And I should see a link labeled "Codebook"
And I should see a link labeled "Survey Distribution Tools"
And I should see a link labeled "Record Status Dashboard"
And I should see a link labeled "Add / Edit Records"
And I should see "Applications"
And I should see a link labeled "Project Dashboards"
And I should see a link labeled "Alerts & Notifications"
And I should see a link labeled "Multi-Language Management"
And I should see a link labeled "Calendar"
And I should see a link labeled "Data Import Tool"
And I should see a link labeled "Logging"
And I should see a link labeled "Email Logging"
And I should see a link labeled "Field Comment Log"
And I should see a link labeled "File Repository"
And I should see a link labeled "Data Comparison Tool"
And I should see a link labeled "User Rights"
And I should see a link labeled "DAGs"
And I should see a link labeled "Customize & Manage Locking/E-signatures"
And I should see a link labeled "Data Quality"
And I should see a link labeled "API"
And I should see a link labeled "API Playground"
And I should see a link labeled "REDCap Mobile App"
And I logout

##ACTION: Expire User
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.100.100"
And I click on the link labeled "User Rights"
And I assign an expired expiration date to user "Test User1" with username of "test_user1"

##VERIFY_LOG: Verify Expire User
And I click on the link labeled "Logging"
#ATS: No mention in the logs of anything related to expiration.  It just says Update user in the logs.
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action      | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Update user | user = 'test_user1'                     |

And I logout

##VERIFY: Verify User access to project
Given I login to REDCap with the user "Test_User1"
Then I should see "Logged in as"
And I click on the link labeled "My Projects"
Then I should see a link labeled "B.2.6.100.100"

##ACTION: Remove expiration for User
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.100.100"
And I click on the link labeled "User Rights"
And I remove the expiration date to user "Test User1" with username of "test_user1"
#The Expiration column shows 'never' for "Test_User1"

##VERIFY_LOG: Verify Update user Expiration
And I click on the link labeled "Logging"

#ATS: No mention in the logs of anything related to expiration.  It just says Update user in the logs.
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action      | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Update user | user = 'test_user1'                     |

And I logout

##VERIFY: Verify User access to project
Given I login to REDCap with the user "Test_User1"
Then I should see "Logged in as"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.100.100"
Then I should see a link labeled "Project Home"
And I logout

##ACTION: Remove User from project
Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.100.100"
And I click on the link labeled "User Rights"
And I click on the link labeled "Test User1"
And I click on the button labeled "Edit user privileges" on the tooltip
Then I should see a dialog containing the following text: "Editing existing user"

When I click on the button labeled "Remove user"
Then I should see a dialog containing the following text: "Remove user?"
And I click on the button labeled "Remove user" in the dialog box

##VERIFY_LOG: Verify Logging of Delete user
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action      | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Update user | user = 'test_user1'                     |
  | mm/dd/yyyy hh:mm | test_admin | Delete user | user = 'test_user1'                     |

And I logout

##VERIFY: Verify User has no access to project

Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
Then I should NOT see a link labeled "B.2.6.100.100"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Assign%20User%20Rights_6/B.2.6.200%20-%20Data%20Entry%20Form%20Access.feature

Feature: B.2.6.200 Assign user rights Project Level: The system shall allow data entry form user access to be (No Access / Read Only / View & Edit / Edit survey responses)

As a REDCap end user I want to see that data entry rights is functioning as expected

Scenario: B.2.6.200.100 Data Viewing Rights #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.6.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.200.100"
And I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

When I click on the link labeled "User Rights"
And I click on the button labeled "Upload or download users, roles, and assignments"
Then I should see "Upload users (CSV)"

When I click on the link labeled "Upload users (CSV)"
Then I should see a dialog containing the following text: "Upload users (CSV)"

Given I upload a "csv" format file located at "import_files/user list for project 1.csv", by clicking the button near "Select your CSV" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see a dialog containing the following text: "Upload users (CSV) - Confirm"
And I should see a table header and rows containing the following values in a table:
  | username   |
  | test_user1 |
  | test_user2 |
  | test_user3 |
  | test_user4 |

Given I click on the button labeled "Upload" in the dialog box
Then I should see a dialog containing the following text: "SUCCESS!"
And I click on the button labeled "Close" in the dialog box

And I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user1          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |

When I click on the link labeled "Test User1"
And I click on the button labeled "Edit user privileges"
Then I should see a dialog containing the following text: "Editing existing user"

#FUNCTIONAL REQUIREMENT
##ACTION: Set user access to No Access

When I set Data Viewing Rights to No Access for the instrument "Text Validation"
And I save changes within the context of User Rights

##VERIFY_LOG: Verify Update user rights
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action   | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Add user | user = 'test_user1'                     |

##ACTION #CROSS-FEATURE B.2.23.100: Verify Logging Filter by user name
When I select the "test_admin" option from the Filter by username dropdown field

##VERIFY_LOG #CROSS-FEATURE: Verify Logging Filter by user name
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action      | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Update user | user = 'test_user1'                     |
And I logout

Given I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.200.100"
##VERIFY: No access to Instrument
And I click on the link labeled "Record Status Dashboard"
Then I should NOT see "Text Validation"

Given I click on the link labeled "User Rights"
And I click on the link labeled "Test User1"
And I click on the button labeled "Edit user privileges"
Then I should see a dialog containing the following text: "Editing existing user"

##ACTION: Set user access to Read Only
When I set Data Viewing Rights to Read Only for the instrument "Text Validation"
And I save changes within the context of User Rights

Given I click on the link labeled "Add / Edit Records"
And I select record ID "1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should see "Record Home Page"

##VERIFY: Read Only for the instrument
When I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "Text Validation"
And I should NOT see a button labeled "Save & Exit Form"

Given I click on the link labeled "User Rights"
And I click on the link labeled "Test User1"
And I click on the button labeled "Edit user privileges"
Then I should see a dialog containing the following text: "Editing existing user"

##ACTION: Set user access to View & Edit + Edit survey responses
When I set Data Viewing Rights to View & Edit with Edit survey responses checked for the instrument "Survey"
And I save changes within the context of User Rights

Given I click on the link labeled "Add / Edit Records"
And I select record ID "1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should see "Record Home Page"

##VERIFY: Create survey record and then try to edit survey response for the instrument
When I click the bubble to select a record for the "Survey" longitudinal instrument on event "Event Three"
And I click on the button labeled "Survey options"

#This opens the survey
When I click on the survey option label containing "Open survey" label
#We are submitting the survey
And I click on the button labeled "Submit"

Given I logout
And I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.200.100"
Given I click on the link labeled "Add / Edit Records"
And I select record ID "1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should see "Record Home Page"

When I click the bubble to select a record for the "Survey" longitudinal instrument on event "Event Three"
Then I should see "Survey response is editable"

When I click on the button labeled "Edit response"
Then I should see "now editing"

When I clear field and enter "Edited Name" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see "successfully edited"

Given I click on the link labeled "User Rights"
And I click on the link labeled "Test User1"
And I click on the button labeled "Edit user privileges"
Then I should see a dialog containing the following text: "Editing existing user"

##ACTION: Remove user access to Edit survey responses
When I set Data Viewing Rights to View & Edit with Edit survey responses unchecked for the instrument "Survey"
And I save changes within the context of User Rights

##VERIFY: Not able to edit survey responses for the instrument
Given I click on the link labeled "Add / Edit Records"
And I select record ID "1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should see "Record Home Page"
When I click the bubble to select a record for the "Survey" longitudinal instrument on event "Event Three"
Then I should see "Survey response is read-only"
And I should NOT see a button labeled "Save"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Assign%20User%20Rights_6/B.2.6.300%20-%20Data%20Export%20Rights.feature

Feature: B.2.6.300 The system shall allow instrument level data export rights to be (No Access, De-Identified, Remove All Identifier Fields, Full Data Set)

As a REDCap end user I want to see that data export rights is functioning as expected

Scenario: B.2.6.300.100 Data Export Rights #SETUP_PRODUCTION Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.6.300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.2.6.300.100”

When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##USER_RIGHTS
When I click on the link labeled "User Rights"
And I click on the button labeled "Upload or download users, roles, and assignments"
Then I should see "Upload users (CSV)"

When I click on the link labeled "Upload users (CSV)"
Then I should see a dialog containing the following text: "Upload users (CSV)"

Given I upload a "csv" format file located at "import_files/user list for project 1.csv", by clicking the button near "Select your CSV" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see a dialog containing the following text: "Upload users (CSV) - Confirm"
And I should see a table header and rows containing the following values in the a table:
  | username   |
  | test_user1 |
  | test_user2 |
  | test_user3 |
  | test_user4 |

Given I click on the button labeled "Upload" in the dialog box
Then I should see a dialog containing the following text: "SUCCESS!"
And I click on the button labeled "Close" in the dialog box
And I logout

Given I login to REDCap with the user "Test_User1"
Then I should see "Logged in as"

#FUNCTIONAL REQUIREMENT Export Full Data Set
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.300.100"
And I click on the link labeled "Data Exports, Reports, and Stats"

##ACTION:
Then I should see a table header and rows containing the following values in the reports table:
  | A | All data (all records and fields) |

Given I click on the "Export Data" button for the "All data (all records and fields)" report in the My Reports & Exports table
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box
Then I should have a "csv" file that contains the headings below
  | record_id | redcap_event_name | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | redcap_survey_identifier | name | email | text_validation_complete | ptname | textbox | text2 | radio | notesbox | multiple_dropdown_manual | multiple_dropdown_auto | multiple_radio_auto | radio_button_manual | checkbox___1 | checkbox___2 | checkbox___3 | calc_test | calculated_field | signature | file_upload | required | identifier | identifier_2 | edit_field | date_ymd | date_mdy | date_dmy | time_hhmmss | time_hhmm | time_mmss | datetime_ymd_hmss | datetime_ymd_hm | datetime_mdy_hmss | datetime_dmy_hmss | integer | number | number_1_period | number_1_comma | letters | mrn_10_digits | mrn | ssn | phone_north_america | phone_australia | phone_uk | zipcode_us | postal_5 | postal_code_australia | postal_code_canada | data_types_complete | survey_timestamp | name_survey | email_survey | survey_complete | consent_timestamp | name_consent | email_consent | dob | signature_consent | consent_complete |

And I click on the button labeled "Close" in the dialog box

##VERIFY_LOG:
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action      | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Data export | Download exported data file (CSV raw)   |
  | mm/dd/yyyy hh:mm | test_admin | Add user    | user = 'test_user1'                     |

#SETUP
Given I logout
Then I should see "Please log in"
Given I login to REDCap with the user "Test_User2"
Then I should see "Logged in as"

#FUNCTIONAL REQUIREMENT Export remove all identifier fields
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.300.100"
And I click on the link labeled "Data Exports, Reports, and Stats"

##ACTION:
Then I should see a table header and rows containing the following values in the reports table:
  | A | All data (all records and fields) |

Given I click on the "Export Data" button for the "All data (all records and fields)" report in the My Reports & Exports table
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

##VERIFY_DE:
Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box

#NOTE: Notice how there is no identifier or identifier_2 fields when removing de-identifiers.  Still want to see ptname.
Then I should have a "csv" file that contains the headings below
  | record_id | redcap_event_name | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | name | email | text_validation_complete | ptname | textbox | text2 | radio | notesbox | multiple_dropdown_manual | multiple_dropdown_auto | multiple_radio_auto | radio_button_manual | checkbox___1 | checkbox___2 | checkbox___3 | calc_test | calculated_field | signature | file_upload | required | edit_field | date_ymd | date_mdy | date_dmy | time_hhmmss | time_hhmm | time_mmss | datetime_ymd_hmss | datetime_ymd_hm | datetime_mdy_hmss | datetime_dmy_hmss | integer | number | number_1_period | number_1_comma | letters | mrn_10_digits | mrn | ssn | phone_north_america | phone_australia | phone_uk | zipcode_us | postal_5 | postal_code_australia | postal_code_canada | data_types_complete | survey_timestamp | name_survey | email_survey | survey_complete | consent_timestamp | name_consent | email_consent | dob | signature_consent | consent_complete |

#SETUP
Given I logout
Then I should see "Please log in"
Given I login to REDCap with the user "Test_User3"
Then I should see "Logged in as"

#FUNCTIONAL REQUIREMENT: Export Deidentified
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.300.100"
And I click on the link labeled "Data Exports, Reports, and Stats"

##ACTION:
Then I should see a table header and rows containing the following values in the reports table:
  | A | All data (all records and fields) |

Given I click on the "Export Data" button for the "All data (all records and fields)" report in the My Reports & Exports table
And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
And I click on the button labeled "Export Data" in the dialog box
Then I should see a dialog containing the following text: "Data export was successful!"

##VERIFY_DE:
Given I click on the download icons to receive the files for the "CSV / Microsoft Excel (raw data)" format in the dialog box

#NOTE: Notice how there is no ptname, identifier, or identifier_2 fields when removing de-identifiers AND hashing Record ID
Then I should have a "csv" file that contains the headings below
  | record_id | redcap_event_name | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | email | text_validation_complete | radio | multiple_dropdown_manual | multiple_dropdown_auto | multiple_radio_auto | radio_button_manual | checkbox___1 | checkbox___2 | checkbox___3 | calc_test | calculated_field | signature | file_upload | date_ymd | date_mdy | date_dmy | time_hhmmss | time_hhmm | time_mmss | datetime_ymd_hmss | datetime_ymd_hm | datetime_mdy_hmss | datetime_dmy_hmss | integer | number | number_1_period | number_1_comma | letters | mrn_10_digits | mrn | ssn | phone_north_america | phone_australia | phone_uk | zipcode_us | postal_5 | postal_code_australia | postal_code_canada | data_types_complete | survey_timestamp | email_survey | survey_complete | consent_timestamp | email_consent | dob | signature_consent,consent_complete |

#SETUP
Given I logout
Then I should see "Please log in"
Given I login to REDCap with the user "Test_User4"
Then I should see "Logged in as"

#FUNCTIONAL REQUIREMENT: Export No Access
When I click on the link labeled "My Projects"
And I click on the link labeled "B.2.6.300.100"

##ACTION:
And I click on the link labeled "Data Exports, Reports, and Stats"

##VERIFY
Then I should NOT see a button labeled "Export Data"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Assign%20User%20Rights_6/B.2.6.400%20-%20Creating%20Copying%20Deleting%20Roles.feature

Feature: B.2.6.400 Assign user rights Project Level: The system shall allow for the creation, copying and deletion of user roles.

As a REDCap end user I want to see that assign user rights is functioning as expected

Scenario: B.2.6.400.100 Create, Copy, & Delete User Roles #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.6.400.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.2.6.400.100” And I click on the link labeled “User Rights”

#FUNCTIONAL REQUIREMENT:
##ACTION: User Rights Create role
Given I enter "TestRole2" into the field with the placeholder text of "Enter new role name"
And I click on the button labeled "Create role"
Then I should see a dialog containing the following text: "Creating new role"

##VERIFY_UR
When I click on the button labeled "Create role" in the dialog box
Then I should see a table header and rows containing the following values in a table:
  | Role name               |
  | 1_FullRights            |
  | 2_Edit_RemoveID         |
  | 3_ReadOnly_Deidentified |
  | 4_NoAccess_Noexport     |
  | TestRole                |
  | TestRole2               |

##VERIFY_LOG
Given I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action           | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Create user role | role = 'TestRole2'                      |


Given I click on the link labeled "User Rights"
And I click on the link labeled "TestRole2"
Then I should see a dialog containing the following text: "Editing existing user role"

##ACTION: User Rights Copy role
Given I click on the button labeled "Copy role" in the dialog box
And I clear field and enter "Copy role" into the input field labeled "New role name:"
And I click on the button labeled "Copy role" in the dialog box
And I click on the button labeled "Cancel" in the dialog box

##VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Role name               |
  | 1_FullRights            |
  | 2_Edit_RemoveID         |
  | 3_ReadOnly_Deidentified |
  | 4_NoAccess_Noexport     |
  | Copy role               |
  | TestRole                |
  | TestRole2               |

Given I click on the link labeled "TestRole2"

##ACTION: User Rights delete role
Given I click on the button labeled "Delete role" in the dialog box
When I see a dialog containing the following text: "Delete role?"
And I click on the button labeled "Delete role" in the dialog box

##VERIFY
Then I should NOT see "TestRole2"
But I should see a table header and rows containing the following values in a table:
  | Role name               |
  | 1_FullRights            |
  | 2_Edit_RemoveID         |
  | 3_ReadOnly_Deidentified |
  | 4_NoAccess_Noexport     |
  | Copy role               |
  | TestRole                |

##VERIFY_LOG
Given I click on the link labeled "Logging"

Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action           | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Delete user role | role = 'TestRole2'                      |
  | mm/dd/yyyy hh:mm | test_admin | Create user role | role = 'Copy role'                      |
  | mm/dd/yyyy hh:mm | test_admin | Create user role | role = 'TestRole2'                      |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Assign%20User%20Rights_6/B.2.6.500%20-%20Adding%20and%20Removing%20Users%20from%20Roles.feature

Feature: B.2.6.500 Assign user rights Project Level: The system shall support adding and removing users from user roles.

As a REDCap end user I want to see that assign user rights is functioning as expected

Scenario: B.2.6.500.100 Cancel, Assign, Re-assign, & Remove User Roles #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.6.500.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.2.6.500.100” When I click on the link labeled “User Rights” And I click on the button labeled “Upload or download users, roles, and assignments” Then I should see “Upload users (CSV)”

When I click on the link labeled "Upload users (CSV)"
Then I should see a dialog containing the following text: "Upload users (CSV)"

Given I upload a "csv" format file located at "import_files/user list for project 1.csv", by clicking the button near "Select your CSV" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see a dialog containing the following text: "Upload users (CSV) - Confirm"
And I should see a table header and rows containing the following values in a table:
  | username   |
  | test_user1 |
  | test_user2 |
  | test_user3 |
  | test_user4 |

Given I click on the button labeled "Upload" in the dialog box
Then I should see a dialog containing the following text: "SUCCESS!"

When I click on the button labeled "Close" in the dialog box
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user1          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

#FUNCTIONAL REQUIREMENT
##ACTION: Cancel assign to role
When I click on the link labeled "Test User1"
And I click on the button labeled "Assign to role" on the tooltip
And I select "TestRole" on the dropdown field labeled "Select Role"
And I click on the link labeled "Cancel"

##VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user1          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

##ACTION: Assign to role
When I click on the link labeled "Test User1"
And I click on the button labeled "Assign to role" on the tooltip
# I have to select this twice. Not sure why
And I select "TestRole" on the dropdown field labeled "Select Role"
And I click on the button labeled exactly "Assign"

##VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | test_user1          |

##ACTION: Re-assign to role
When I click on the link labeled "Test User1"
And I click on the button labeled "Re-assign to role" on the tooltip
# I have to select this twice. Not sure why
And I select "1_FullRights" on the dropdown field labeled "Select Role"
And I click on the button labeled exactly "Assign"

##VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | test_user1          |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

##ACTION: Remove from role
When I click on the link labeled "Test User1"
And I click on the button labeled "Remove from role"

##VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user1          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

And I should see a dialog containing the following text: "User's privileges will remain the same"
And I click on the button labeled "Close" in the dialog box

Comments:

Comment:

Author: MintooXavier Updated on: 7/24/2024 12:26:50 PM

Comment body:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. B.2.6.300 – Assign User Rights - The system shall allow instrument level data export rights to be (No Access, De-Identified, Remove All Identifier Fields, Full Data Set)
  1. B.2.6.400 - Creating Copying Deleting Roles
  1. B.2.6.500 - Adding and Removing Users from Roles

Modified all the scripts and pushed to branch MX_v13.1.37

Comment edits:

Created: 7/24/2024 12:26:50 PM Edited on: 7/24/2024 12:26:50 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. B.2.6.300 – Assign User Rights - The system shall allow instrument level data export rights to be (No Access, De-Identified, Remove All Identifier Fields, Full Data Set)
  • In this script, we are assigning the following user rights to the test_users: Test_user1 – Full export Test_user2 – Remove All Identifier Fields Test_user3 – De-Identified Test_user4 – No Access But in the scripts, while exporting, we are checking the checkbox ‘Remove All Identifier Fields’ for test_user2; and ‘Hash the Record ID field’ and ‘Remove All Identifier Fields’ for test_user3 which I feel is not required and defeats the purpose of User rights. Those options are tested in B.5.21.100 (Export Data – Export PHI)
  1. B.2.6.400 - Creating Copying Deleting Roles
  • Added steps to verify logging after copying and deleting user roles.
  1. B.2.6.500 - Adding and Removing Users from Roles
  • After re-assigning test_user1 to 1_FullRights , the table view does not verify 1_FullRights. I have added it.

Modified all the scripts and pushed to branch MX_v13.1.37

Created: 6/27/2024 2:49:25 PM Edited on: 6/27/2024 2:49:25 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. B.2.6.300 – Assign User Rights - The system shall allow instrument level data export rights to be (No Access, De-Identified, Remove All Identifier Fields, Full Data Set)
  • In this script, we are assigning the following user rights to the test_users: Test_user1 – Full export Test_user2 – Remove All Identifier Fields Test_user3 – De-Identified Test_user4 – No Access But in the scripts, while exporting, we are checking the checkbox ‘Remove All Identifier Fields’ for test_user2; and ‘Hash the Record ID field’ and ‘Remove All Identifier Fields’ for test_user3 which I feel is not required and defeats the purpose of User rights. Those options are tested in B.5.21.100 (Export Data – Export PHI)
  1. B.2.6.400 - Creating Copying Deleting Roles
  • Added steps to verify logging after copy and delete user roles.
  1. B.2.6.500 - Adding and Removing Users from Roles
  • After re-assigning test_user1 to 1_FullRights , the table view does not include this specific line.

Modified all the scripts and pushed to branch MX_v13.1.37

Created: 6/26/2024 12:17:48 PM Edited on: 6/26/2024 12:17:48 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. B.2.6.300 – Assign User Rights - The system shall allow instrument level data export rights to be (No Access, De-Identified, Remove All Identifier Fields, Full Data Set)
  • In this script, we are assigning the following user rights to the test_users: Test_user1 – Full export Test_user2 – Remove All Identifier Fields Test_user3 – De-Identified Test_user4 – No Access But in the scripts, while exporting, we are checking the checkbox ‘Remove All Identifier Fields’ for test_user2; and ‘Hash the Record ID field’ and ‘Remove All Identifier Fields’ for test_user3 which I feel is not required and defeats the purpose of User rights. Those options are tested in B.5.21.100 (Export Data – Export PHI)

Modified the script and pushed to branch MX_v13.1.37

Created: 6/21/2024 1:34:35 PM Edited on: 6/21/2024 1:34:35 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

B.2.6.300 – Assign User Rights - The system shall allow instrument level data export rights to be (No Access, De-Identified, Remove All Identifier Fields, Full Data Set) - In this script, we are assigning the following user rights to the test_users: Test_user1 – Full export Test_user2 – Remove All Identifier Fields Test_user3 – De-Identified Test_user4 – No Access But in the scripts, while exporting, we are checking the checkbox ‘Remove All Identifier Fields’ for test_user2; and ‘Hash the Record ID field’ and ‘Remove All Identifier Fields’ for test_user3 which I feel is not required and defeats the purpose of User rights. Those options are tested in B.5.21.100 (Export Data – Export PHI)

Created: 6/21/2024 1:34:35 PM Edited on: 6/21/2024 1:19:43 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw

B.2.6.300 – Assign User Rights - The system shall allow instrument level data export rights to be (No Access, De-Identified, Remove All Identifier Fields, Full Data Set) - In this script, we are assigning the following user rights to the test_users: Test_user1 – Full export Test_user2 – Remove All Identifier Fields Test_user3 – De-Identified Test_user4 – No Access But in the scripts, while exporting, we are checking the checkbox ‘Remove All Identifier Fields’ for test_user2; and ‘Hash the Record ID field’ and ‘Remove All Identifier Fields’ for test_user3 which I feel is not required and defeats the purpose of User rights. Those options are tested in B.5.21.100 (Export Data – Export PHI)

Comment:

Author: MintooXavier Updated on: 6/28/2024 10:56:08 AM

Comment body:

All 5 scripts have been pre-reviewed

Comment:

Author: MintooXavier Updated on: 7/4/2024 1:57:01 PM

Comment body:

All tests pass

Comment:

Author: MintooXavier Updated on: 7/29/2024 1:47:28 PM

Comment body:

ATS team accepted the changes


Timeline events:

LABELLED | User: MintooXavier Created on: 6/5/2024 11:09:11 AM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 6/5/2024 11:09:11 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 6/5/2024 11:09:11 AM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 6/21/2024 1:19:43 PM Issue comment body:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. B.2.6.300 – Assign User Rights - The system shall allow instrument level data export rights to be (No Access, De-Identified, Remove All Identifier Fields, Full Data Set)
  1. B.2.6.400 - Creating Copying Deleting Roles
  1. B.2.6.500 - Adding and Removing Users from Roles

Modified all the scripts and pushed to branch MX_v13.1.37

LABELLED | User: MintooXavier Created on: 6/25/2024 12:41:20 PM Label name: Question Label description: Further information is requested

ASSIGNED | User: MintooXavier Created on: 6/27/2024 2:59:24 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 6/28/2024 10:56:08 AM Issue comment body:

All 5 scripts have been pre-reviewed

ISSUE COMMENT | User: MintooXavier Created on: 7/4/2024 1:57:01 PM Issue comment body:

All tests pass

UNLABELLED | User: MintooXavier Created on: 7/29/2024 1:46:59 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 7/29/2024 1:47:28 PM Issue comment body:

ATS team accepted the changes


————— feature ends —————



Feature: 5. Browse Projects

Id: I_kwDOIaOBn86LNXTN Uid: redcap_cypress-33
Author: MintooXavier Created: 6/5/2024 10:36:00 AM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/33
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:06:24 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to test if we can browse for a project, sort and filter it according to the filter column.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/05_browse_projects.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Browse%20Projects_5/A.1.5.100%20-%20Browse%20Projects.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/05_browse_projects.spec

A.1.5.100 - Control Center: The system shall support viewing all projects by username, first name, last name and primary email address.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Browse%20Projects_5/A.1.5.100%20-%20Browse%20Projects.feature

Feature: A.1.5.100 Browse Projects

As a REDCap end user I want to see that I have the ability to access, search, and filter projects

Scenario: A.1.5.100.100 Search/Sort project and Locate by User

Given I login to REDCap with the user "Test_Admin"
And I create a new project named "A.1.5.100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button
And I click on the link labeled "Control Center"
And I click on the link labeled "Browse Projects"
Then I should see "Viewing projects accessible by user:"

When I click on the button labeled "View all projects"
Then I should see "A.1.5.100.100"

When I click on the link labeled "Control Center"
And I click on the link labeled "Browse Projects"
Then I should see "Viewing projects accessible by user:"

When I enter "A.1.5.100.100" into the input field labeled "Search project title by keyword(s):"
And I click on the button labeled "Search project title"
Then I should see a row labeled "A.1.5.100.100" in the projects table

When I click on the link labeled "Browse Projects"
Then I should see "Viewing projects accessible by user:"

When I click on the button labeled "View all projects"
Then I should see "A.1.5.100.100"

When I click on the table heading column labeled "Project Title"
Then I should see projects sorted correctly when I click on "Project Title" to sort in either direction

When I click on the table heading column labeled "Records"
Then I should see projects sorted correctly when I click on "Records" to sort in either direction

When I click on the table heading column labeled "Fields"
Then I should see projects sorted correctly when I click on "Fields" to sort in either direction

When I click on the table heading column labeled "Instruments"
Then I should see projects sorted correctly when I click on "Instruments" to sort in either direction

When I click on the table heading column labeled "Type"
Then I should see projects sorted correctly when I click on "Type" to sort in either direction

When I click on the table heading column labeled "Status"
Then I should see projects sorted correctly when I click on "Status" to sort in either direction

When I click on the table heading column labeled "PID"
Then I should see projects sorted correctly when I click on "PID" to sort in either direction

When I click on the link labeled "Control Center"
And I click on the link labeled "Browse Projects"
Then I should see "Viewing projects accessible by user:"

When I enter "Test_Admin" into the input field labeled "Viewing projects accessible by user:"
And I click on the button labeled exactly "View"
Then I should see "A.1.5.100.100"

Comments:

Comment:

Author: MintooXavier Updated on: 7/2/2024 8:44:30 AM

Comment body:

Script pre-reviewed

Comment:

Author: MintooXavier Updated on: 7/4/2024 1:55:53 PM

Comment body:

Test pass

Comment:

Author: MintooXavier Updated on: 10/18/2024 8:39:50 AM

Comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


Timeline events:

LABELLED | User: MintooXavier Created on: 6/5/2024 11:07:50 AM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 6/5/2024 11:07:50 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 6/5/2024 11:07:50 AM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 6/27/2024 2:58:16 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/2/2024 8:44:30 AM Issue comment body:

Script pre-reviewed

ISSUE COMMENT | User: MintooXavier Created on: 7/4/2024 1:55:53 PM Issue comment body:

Test pass

ISSUE COMMENT | User: MintooXavier Created on: 10/18/2024 8:39:50 AM Issue comment body:

Script run against v13.8.1 but not in CCTC_REDCap_Docker, hence moving this back to Test Pass Bucket.


————— feature ends —————



Feature: 13. My Projects

Id: I_kwDOIaOBn86OmpJq Uid: redcap_cypress-68
Author: MintooXavier Created: 7/5/2024 12:16:03 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/68
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:50:56 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to check the details of the project in the project dashboard. i.e. no:of instruments, no:of fields, no:of records etc.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/13_my_projects.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/My%20Projects_13/B.6.13.100%20-%20My%20Projects%20Dashboard.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/My%20Projects_13/B.6.13.200%20-%20Archived%20Projects.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/13_my_projects.spec

B.6.13.100 - User Interface: The system shall support a My Project dashboard page containing the following information: Project Title (only projects the user has access to will be displayed) | Records (number of records currently in the database for a project) | Fields (number of fields currently in the database for a project) | Instruments (forms and/or surveys) | Type (classic, longitudinal) | Status (Development, Production, Inactive or Archived).
B.6.13.200 - User Interface: The system shall support the ability to show or hide archived projects on the My Projects page.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/My%20Projects_13/B.6.13.100%20-%20My%20Projects%20Dashboard.feature

Feature: User Interface: The system shall support a My Project dashboard page containing the following information: Project Title (only projects the user has access to will be displayed) | Records (number of records currently in the database for a project) | Fields (number of fields currently in the database for a project) | Instruments (forms and/or surveys) | Type (classic, longitudinal) | Status (Development, Production, Inactive or Archived)

As a REDCap end user I want to see that My Project is functioning as expected

Scenario: B.6.13.100.100 My Project dashboard #FUNCTIONAL_REQUIREMENT Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “My Projects” Then I should see a table header and rows containing the following values in the a table: | Project Title | PID | Records | Fields | Instruments | Type | Status | | You do not have access to any projects | | | | | | |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/My%20Projects_13/B.6.13.200%20-%20Archived%20Projects.feature

Feature: User Interface: The system shall support the ability to show or hide archived projects on the My Projects page.

As a REDCap end user I want to see that My Project is functioning as expected

Scenario: B.6.13.200.100 Hide archived projects

Given I login to REDCap with the user "Test_Admin"
And I create a new project named "B.6.13.200.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button
When I click on the link labeled "Other Functionality"
And I click on the button labeled "Mark project as Completed"
And I click on the button labeled "Mark project as Completed" in the dialog box
#And I click on the button "OK" in the pop-up box
Then I should see "My Projects"
And I should NOT see "B.6.13.200.100"

When I click on the link labeled "Show Completed Projects"
Then I should see "B.6.13.200.100"

When I click on the link labeled "B.6.13.200.100"
And I click on the button labeled "Restore Project" in the dialog box
Then I should see a dialog containing the following text: "PROJECT RESTORED"

When I click on the button labeled "Close" in the dialog box
Then I should see Project status: "Development"

Comments:

Comment:

Author: MintooXavier Updated on: 7/5/2024 12:16:46 PM

Comment body:

Scripts Pre-reviewed and tests pass


Timeline events:

LABELLED | User: MintooXavier Created on: 7/5/2024 12:16:03 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/5/2024 12:16:03 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/5/2024 12:16:03 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/5/2024 12:16:04 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/5/2024 12:16:46 PM Issue comment body:

Scripts Pre-reviewed and tests pass


————— feature ends —————



Feature: 12. Security Settings

Id: I_kwDOIaOBn86Og5zI Uid: redcap_cypress-66
Author: MintooXavier Created: 7/4/2024 2:22:03 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/66
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:12:21 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to check the security settings of the system.i.e. if the system is online/offline.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/12_security_settings.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Security%20Settings_12/A.2.12.100%20-%20System%20Status.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/12_security_settings.spec

A.2.12.100 - The system shall support changing the system status between online and offline.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/A/Security%20Settings_12/A.2.12.100%20-%20System%20Status.feature

Feature: A.2.12.100 Security Settings- The system shall support changing the system status between online and offline.

As a REDCap end user I want to see that system status is functioning as expected

Scenario: A.2.12.100.100 System Status Online/Offline

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "Control Center"
And I click on the link labeled "General Configuration"
Then I should see "Server configuration settings"
And I should see "System Status"
And I should see the dropdown field labeled "System Status" with the option "SYSTEM ONLINE" selected

Given I select "SYSTEM OFFLINE" on the dropdown field labeled "System Status"
And I enter "This is a test.  The Vanderbilt REDCap System is offline and will be back online shortly." into the textarea field labeled "Custom message to display to users when system is offline"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"
When I logout

#Test REDCap offline for Standard User
Given I login to REDCap with the user "Test_User1"
Then I should see "This is a test.  The Vanderbilt REDCap System is offline and will be back online shortly."
And I logout

#Test REDCap offline for Admin User
Given I login to REDCap with the user "Test_Admin"
Then I should see "REDCap and all its projects are currently OFFLINE and are not accessible to normal users."
And I click on the link labeled "Control Center"
And I click on the link labeled "General Configuration"
Then I should see "Server configuration settings"
Then I should see "System Status"
Given I select "SYSTEM ONLINE" on the dropdown field labeled "System Status"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"

#Test REDCap online for "Test_User1"
Given I login to REDCap with the user "Test_User1"
Then I should see "My Projects"

Comments:

Comment:

Author: MintooXavier Updated on: 7/4/2024 2:22:45 PM

Comment body:

Pre-review completed and test pass


Timeline events:

LABELLED | User: MintooXavier Created on: 7/4/2024 2:22:03 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/4/2024 2:22:03 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/4/2024 2:22:03 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/4/2024 2:22:04 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/4/2024 2:22:45 PM Issue comment body:

Pre-review completed and test pass


————— feature ends —————



Feature: 27. Longitudinal Project Setup

Id: I_kwDOIaOBn86RLD3z Uid: redcap_cypress-79
Author: MintooXavier Created: 7/29/2024 2:33:20 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/79
Milestone: |none| Labels: Core feature || Gherkin || Automated || PQ

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:55:38 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to test the different settings of a longitudinal project.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/27_longitudinal_project_setup.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.100%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.300%20-%20Enable%20%26%20Disable%20Longitudinal%20Data%20Collection.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.400%20-%20Event%20Designation.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.500%20-%20%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.600%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.700%20-%20Delete%20Events%20%26%20Arms%20in%20Production.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/27_longitudinal_project_setup.spec

B.4.27.100 - User Interface: The system shall allow the option to add or modify events and arms on the Define My Events page for longitudinal projects while in production status by providing two options: No, only Administrators can add/modify events in production | Yes, normal users can add/modify events in production | Add new event | Designate Instruments not previously designated.
B.4.27.200 - User Interface: The system shall provide the option to require administrators to review the addition or modification of events for longitudinal projects while in production.
B.4.27.300 - User Interface: Longitudinal Project Settings: The system shall support enabling and disabling longitudinal data collection.
B.4.27.400 - User Interface: Longitudinal Project Settings: The system shall support the ability to designate data collection instruments for defined events in each arm.
B.4.27.500 - User Interface: Longitudinal Project Settings: The system shall support multiple study arms and the ability to define unique event schedules for each arm.
B.4.27.600 - User Interface: Longitudinal Project Settings: The system shall support the ability to create repeating events and instruments within events.
B.4.27.700 - User Interface: Longitudinal Project Settings: The system shall require administrators to delete events for longitudinal projects while in production

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.100%20-%20REDUNDANT.feature

Feature: User Interface: The system shall allow the option to add or modify events and arms on the Define My Events page for longitudinal projects while in production status by providing two options: No, only Administrators can add/modify events in production | Yes, normal users can add/modify events in production | Add new event | Designate Instruments not previously designated

This feature test is REDUNDANT and can be viewed in A.6.4.600.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.200%20-%20REDUNDANT.feature

Feature: User Interface: The system shall provide the option to require administrators to review the addition or modification of events for longitudinal projects while in production

This feature test is REDUNDANT and can be viewed in A.6.4.600.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.300%20-%20Enable%20%26%20Disable%20Longitudinal%20Data%20Collection.feature

Feature: User Interface: Longitudinal Project Settings: The system shall support enabling and disabling longitudinal data collection.

As a REDCap end user I want to see that Project Setup is functioning as expected

Scenario: B.4.27.300.100 Change project longitudinal status #ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

##SETUP_DEV
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.4.27.300.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

##ACTION Verify event exist ##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 1"
Then I should see a table header containing the following values in the record status dashboard table:
  | Record ID | Event 1 | Event 2 | Event Three |

#FUNCTIONAL REQUIREMENT
##ACTION Disable longitudinal
When I click on the link labeled "Project Setup"
And I click on the button labeled "Disable" in the "Use longitudinal data collection with defined events?" row in the "Main project settings" section
And I click on the button labeled "Disable" in the dialog box
Then I should see the button labeled "Enable" in the "Use longitudinal data collection with defined events?" row in the "Main project settings" section

##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should NOT see "Event 1"
And I should see a table header containing the following values in the record status dashboard table:
  | Record ID | Text Validation | Data Types | Survey | Consent |


##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Modify project settings                 |

#FUNCTIONAL REQUIREMENT
##ACTION Enable longitudinal
When I click on the link labeled "Project Setup"
And I click on the button labeled "Enable" in the "Use longitudinal data collection with defined events?" row in the "Main project settings" section
Then I should see the button labeled "Disable" in the "Use longitudinal data collection with defined events?" row in the "Main project settings" section

##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
And I click on the tab labeled "Arm 1"
Then I should see a table header containing the following values in the record status dashboard table:
  | Record ID | Event 1 | Event 2 | Event Three |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Modify project settings                 |

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION Verify longitudinal button is disabled in production mode for user
When I click on the link labeled "Project Setup"
###VERIFY
Then I should see the button labeled "Disable" in the "Use longitudinal data collection with defined events?" row in the "Main project settings" section is disabled
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled "Browse Projects"
Then I should see "Viewing projects accessible by user:"

When I enter "B.4.27.300.100" into the input field labeled "Search project title by keyword(s):"
And I click on the button labeled "Search project title"
Then I should see a row labeled "B.4.27.300.100" in the projects table
And I click on the link labeled "B.4.27.300.100"
Then I should see "Project Home"

##ACTION Admin disable longitudinal while in production
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Disable" in the "Use longitudinal data collection with defined events?" row in the "Main project settings" section
And I click on the button labeled "Disable" in the dialog box
Then I should see the button labeled "Enable" in the "Use longitudinal data collection with defined events?" row in the "Main project settings" section

##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should NOT see "Event 1"
And I should see a table header containing the following values in the record status dashboard table:
  | Record ID | Text Validation | Data Types | Survey | Consent |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Modify project settings                 |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.400%20-%20Event%20Designation.feature

Feature: User Interface: Longitudinal Project Settings: The system shall support the ability to designate data collection instruments for defined events in each arm.

As a REDCap end user I want to see that Project Setup is functioning as expected

Scenario: B.4.27.400.100 Ability to designate data collection instruments for defined events in each arm ##SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.4.27.400.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##SETUP
When I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
And I click on the link labeled "Arm 1"
Then I should see the button labeled "Add new event"

#FUNCTIONAL REQUIREMENT
##ACTION Add new events
Given I add an event named "Event 4" with offset of 4 days into the currently selected arm
Then I should see "Event 4" in the define events table

When I click on the link labeled "Arm 2"
Given I add an event named "Event 2" with offset of 2 days into the currently selected arm
Then I should see "Event 2" in the define events table

##ACTION Designate Instruments
When I click on the link labeled "Designate Instruments for My Events"
And I click on the link labeled "Arm 1"
And I click on the button labeled "Begin Editing"
And I enable the Data Collection Instrument named "Data Types" for the Event named "Event 4"
And I click on the button labeled "Save"
Then I verify the Data Collection Instrument named "Data Types" is enabled for the Event named "Event 4"

When I click on the link labeled "Arm 2"
And I click on the button labeled "Begin Editing"
And I enable the Data Collection Instrument named "Survey" for the Event named "Event 2"
And I click on the button labeled "Save"
Then I verify the Data Collection Instrument named "Survey" is enabled for the Event named "Event 2"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported                                          |
  | test_admin | Manage/Design | Create event (Event: Event 2, Arm: Arm Two, Days Offset: 2, Offset Range: -0/+0) |
  | test_admin | Manage/Design | Create event (Event: Event 4, Arm: Arm 1, Days Offset: 4, Offset Range: -0/+0)   |

##VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "Arm 1"
Then I should see the "Incomplete (no data saved)" icon for the "Data Types" longitudinal instrument on event "Event 4" for record "1"

When I click on the link labeled "Arm 2"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Event 1    | Event 2 |
  | Data Types | Survey  |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.500%20-%20%20REDUNDANT.feature

Feature: User Interface: Longitudinal Project Settings: The system shall support multiple study arms and the ability to define unique event schedules for each arm.

Scenario: B.4.27.500.100 Create unique event schedules for multiple arms #A.6.4.600 #This feature test is REDUNDANT and can be viewed in A.6.4.600

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.600%20-%20REDUNDANT.feature

Feature: User Interface: Longitudinal Project Settings: The system shall support the ability to create repeating events and instruments within events.

Scenario: B.4.27.600.100 Repeat instrument and event #A.6.4.500.100 #This feature test is REDUNDANT and can be viewed in A.6.4.500.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Longitudinal%20Project%20Setup_27/B.4.27.700%20-%20Delete%20Events%20%26%20Arms%20in%20Production.feature

Feature: User Interface: Longitudinal Project Settings: The system shall require administrators to delete events for longitudinal projects while in production

Scenario: B.4.27.700.100 Admin delete events and arm in Define My Events

##SETUP
Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "Control Center"
And I click on the link labeled "User Settings"
Then I should see "System-level User Settings"
When I select "Yes, normal users can add/modify events in production" on the dropdown field labeled "Allow normal users to add or modify events and arms on the Define My Events page for longitudinal projects while in production status?"
And I click on the button labeled "Save Changes"
Then I should see "Your system configuration values have now been changed!"

Given I create a new project named "B.4.27.700.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

###USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

#FUNCTIONAL REQUIREMENT
##ACTION Verify normal user cannot delete events and arms in production
Given I logout
And I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.4.27.700.100"
When I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"

##VERIFY
Then I should see "Arm 1"
And I should see a link labeled "Arm 1"
But I should NOT see a link labeled "Delete Arm 1"
And I should NOT see the Delete image for the Event named "Event 1"

#FUNCTIONAL REQUIREMENT
##ACTION Verify administrator can delete events and arms in production
Given I logout
And I login to REDCap with the user "Test_Admin"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.4.27.700.100"
When I click on the link labeled "Project Setup"
And I click on the button labeled "Define My Events"
Then I should see "Arm 1"
And I should see "Deleting any events below will result in data loss. Please proceed with caution."

# ##VERIFY
Given I see a table header and rows containing the following values in the define events table:
  | Event # | Event Label |
  | 1       | Event 1     |
  | 2       | Event 2     |
  | 3       | Event Three |

When I click on the Delete image for the event named "Event 1"
Then I should see a table header and rows containing the following values in the define events table:
  | Event # | Event Label |
  | 2       | Event 2     |
  | 3       | Event Three |
And I should NOT see "Event 1"

Given I should see a link labeled "Arm 1"
When I click on the link labeled "Delete Arm 1"

Then I should see an alert box with the following text: "DELETE ARM 1?"
#Manual: Click "OK" to confirm; ATS does this automatically
# And I click on the button labeled "OK"

Then I should NOT see a link labeled "Arm 1"
But I should see a link labeled "Arm 2"
And I should see "Arm name:  Arm Two"

Then I logout

Comments:

Comment:

Author: MintooXavier Updated on: 7/31/2024 2:11:02 PM

Comment body:

Scripts Pre-reviewed:

  1. B.4.27.100 - REDUNDANT
  2. B.4.27.200 - REDUNDANT
  3. B.4.27.300 - Enable & Disable Longitudinal Data Collection
  4. B.4.27.400 - Event Designation
  5. B.4.27.500 - REDUNDANT
  6. B.4.27.600 - REDUNDANT
  7. B.4.27.700 - REDUNDANT - says redundant but not tested. Added new script.

All scripts pass

Comment edits:

Created: 7/31/2024 2:11:02 PM Edited on: 7/31/2024 2:11:02 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.4.27.100 - REDUNDANT
  2. B.4.27.200 - REDUNDANT
  3. B.4.27.300 - Enable & Disable Longitudinal Data Collection
  4. B.4.27.400 - Event Designation
  5. B.4.27.500 - REDUNDANT
  6. B.4.27.600 - REDUNDANT
  7. B.4.27.700 - REDUNDANT - says redundant but not tested. Added new script.

All scripts pass

Created: 7/30/2024 2:41:32 PM Edited on: 7/30/2024 2:41:32 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.4.27.100 - REDUNDANT
  2. B.4.27.200 - REDUNDANT
  3. B.4.27.300 - Enable & Disable Longitudinal Data Collection
  4. B.4.27.400 - Event Designation
  5. B.4.27.500 - REDUNDANT
  6. B.4.27.600 - REDUNDANT
  7. B.4.27.700 - REDUNDANT - says redundant but not tested.

All scripts from B.4.27.100 to B.4.27.600 pass

Created: 7/30/2024 2:39:44 PM Edited on: 7/30/2024 2:39:44 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.4.27.100 - REDUNDANT
  2. B.4.27.200 - REDUNDANT
  3. B.4.27.300 - Enable & Disable Longitudinal Data Collection
  4. B.4.27.400 - Event Designation
  5. B.4.27.500 - REDUNDANT
  6. B.4.27.600 - REDUNDANT
  7. B.4.27.700 - REDUNDANT - says redundant but not tested. The script should test delete event from Define My Events page while in Production. A.6.4.500 tests deleting data in an event, which is different.

Created: 7/30/2024 2:21:28 PM Edited on: 7/30/2024 2:21:28 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.4.27.100 - REDUNDANT
  2. B.4.27.200 - REDUNDANT
  3. B.4.27.300 - Enable & Disable Longitudinal Data Collection
  4. B.4.27.400 - Event Designation
  5. B.4.27.500 - REDUNDANT
  6. B.4.27.600 - REDUNDANT

Created: 7/30/2024 2:21:28 PM Edited on: 7/30/2024 11:15:29 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.4.27.100 - REDUNDANT
  2. B.4.27.200 - REDUNDANT
  3. B.4.27.300 - Enable & Disable Longitudinal Data Collection
  4. B.4.27.400 - Event Designation
  5. B.4.27.500 - REDUNDANT

Comment:

Author: MintooXavier Updated on: 7/31/2024 2:10:28 PM

Comment body:

Comment edits:

Created: 7/31/2024 2:10:28 PM Edited on: 7/31/2024 2:10:28 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  • B.4.27.700 - REDUNDANT - says redundant but not tested. The script should test delete event from Define My Events page while in Production. A.6.4.500 tests deleting data in an event in production, which is different.
  • Added new script ‘B.4.27.700 - Delete Events & Arms in Production.feature’ and pushed to MX_v13.1.37.
  • Emailed RSVC and ATS

Created: 7/31/2024 2:10:28 PM Edited on: 7/30/2024 2:41:55 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

B.4.27.700 - REDUNDANT - says redundant but not tested. The script should test delete event from Define My Events page while in Production. A.6.4.500 tests deleting data in an event in production, which is different.


Timeline events:

LABELLED | User: MintooXavier Created on: 7/29/2024 2:33:20 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/29/2024 2:33:21 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/29/2024 2:33:21 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/29/2024 2:33:21 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/30/2024 11:15:29 AM Issue comment body:

Scripts Pre-reviewed:

  1. B.4.27.100 - REDUNDANT
  2. B.4.27.200 - REDUNDANT
  3. B.4.27.300 - Enable & Disable Longitudinal Data Collection
  4. B.4.27.400 - Event Designation
  5. B.4.27.500 - REDUNDANT
  6. B.4.27.600 - REDUNDANT
  7. B.4.27.700 - REDUNDANT - says redundant but not tested. Added new script.

All scripts pass

LABELLED | User: MintooXavier Created on: 7/30/2024 2:40:01 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 7/30/2024 2:41:55 PM Issue comment body:

UNLABELLED | User: MintooXavier Created on: 10/7/2024 12:52:01 PM Label name: Question Label description: Further information is requested

LABELLED | User: MintooXavier Created on: 12/18/2024 1:36:22 PM Label name: PQ Label description:


————— feature ends —————



Feature: 120. Field Embedding

Id: I_kwDOIaOBn86YAMDR Uid: redcap_cypress-80
Author: MintooXavier Created: 9/26/2024 10:30:57 AM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/80
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:07:40 PM
Locked: false Participants: MintooXavier || LawrenceFayers

Project item body:

Brief description:
The ‘Field Embedding’ feature in REDCap is the ultimate way to customize your surveys and data collection instruments to make them look exactly how you want. Field Embedding allows you to reposition field elements on a survey page or data entry form so that they get embedded in a new location on that same page.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/120_field_embedding.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Field%20Embedding_120/D.120.100%20-%20Field%20Embedding.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/120_field_embedding.spec

D.120.100 - The system shall support the ability to use Embedded Fields in data entry forms for better user-friendly form designs.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Field%20Embedding_120/D.120.100%20-%20Field%20Embedding.feature

Feature: D.120.100 - The system shall support the ability to use Embedded Fields in data entry forms for better user-friendly form designs.

As a REDCap end user I want to see that Field Embedding is functioning as expected

Scenario: D.120.100 Field Embedding #SETUP Given I login to REDCap with the user “Test_User1” And I create a new project named “D.120.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button And I click on the link labeled “Designer” Then I should see “Data Collection Instruments” And I click on the instrument labeled “Text Validation” Then I should see “Name” And I click on the Edit image for the field named “Email” And I enter “EmailField” into the Field Label of the open “Add New Field” dialog box Then I click on the button labeled “Save” Then I should see “EmailField” And I click on the first button labeled “Add Field” Then I select “Descriptive Text (with optional Image/Video/Audio/File Attachment)” from the Field Type dropdown of the open “Add New Field” dialog box And I enter “Mail ID:{{}email_v2{}}; Participant Info:{{}ptname_v2_v2{}}” into the Field Label of the open “Add New Field” dialog box And I enter “embed” into the Variable Name of the open “Add New Field” dialog box When I click on the button labeled “Save” Then I should see “Field is embedded elsewhere on page” within the field with variable name “ptname_v2_v2” And I should see “Field is embedded elsewhere on page” within the field with variable name “email_v2” And I should see “Contains embedded fields” within the field with variable name “embed”

When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Then I should see 'Record "2" is a new Record ID'

When I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "; Participant Info:"
And I enter "User1@example.com" into the input field labeled "Mail ID"
And I should NOT see "Name"
And I should NOT see "EmailField"
And I click on the button labeled "Save & Exit Form"
Then I should see "successfully added"

#VERIFY_DE
When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
    | Username   | Action                                   | List of Data Changes OR Fields Exported                       |
    | test_user1 | Create record 2 (Event 1 (Arm 1: Arm 1)) | email_v2 = 'User1@example.com', text_validation_complete = '0' |

And I logout

Comments:

Comment:

Author: MintooXavier Updated on: 9/26/2024 11:52:26 AM

Comment body:
  1. I have split the script into 2 scripts. So please create a folder for this and change the number to D120 for the project name.
  2. For this script to be automated we have to write a step definition to create a table and put values into it.. I don’t think it’s worth creating a new step definition to test field embedding. Also we are adding a new CDISC file to the pack for this. Can I ask you to rewrite this. Use Project_redcap_val.xml and create a project. In Text Validation CRF, embed ‘Email {email} ; Name: {name}’ in the descriptive text field. Add a new record and enter data in the fields and verify logging

When I click on the link labeled “Logging”
Then I should see table header and rows containing the following values in the logging table:
| Username | Action | List of Data Changes OR Fields Exported |
| test_user1 | Create record2 (Event 1 (Arm 1: Arm 1)) | email_v2 = ‘df@fdg.com’,ptname_v2_v2 = ‘fvfd’ |

So sorry for this. I should have thought about this earlier..

Probably I’ll write this..

Comment edits:

Created: 9/26/2024 11:52:26 AM Edited on: 9/26/2024 11:52:26 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. I have split the script into 2 scripts. So please create a folder for this and change the number to D120 for the project name.
  2. For this script to be automated we have to write a step definition to create a table and put values into it.. I don’t think it’s worth creating a new step definition to test field embedding. Also we are adding a new CDISC file to the pack for this. Can I ask you to rewrite this. Use Project_redcap_val.xml and create a project. In Text Validation CRF, embed ‘Email {email} ; Name: {name}’ in the descriptive text field. Add a new record and enter data in the fields and verify logging

When I click on the link labeled “Logging” Then I should see table header and rows containing the following values in the logging table: | Username | Action | List of Data Changes OR Fields Exported | | test_user1 | Create record2 (Event 1 (Arm 1: Arm 1)) | email_v2 = ‘df@fdg.com’,ptname_v2_v2 = ‘fvfd’ |

So sorry for this. I should have thought about this earlier..

Probably I’ll write this..

Created: 9/26/2024 11:52:08 AM Edited on: 9/26/2024 11:52:08 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. I have split the script into 2 scripts. So please create a folder for this and change the number to D120 for the project name.
  2. For this script to be automated we have to write a step definition to create a table and put values into it.. I don’t think it’s worth creating a new step definition to test field embedding. Also we are adding a new CDISC file to the pack for this. Can I ask you to rewrite this. Use Project_redcap_val.xml and create a project. In Text Validation CRF, embed ‘Email {email} ; Name: {name}’ in the descriptive text field. Add a new record and enter data in the fields and verify logging

When I click on the link labeled “Logging” Then I should see table header and rows containing the following values in the logging table: | Username | Action | List of Data Changes OR Fields Exported | | test_user1 | Create record2 (Event 1 (Arm 1: Arm 1)) | email_v2 = ‘df@fdg.com’,ptname_v2_v2 = ‘fvfd’ |

So sorry for this. I should have thought about this earlier..

Probabvly I’ll write this..

Created: 9/26/2024 11:47:57 AM Edited on: 9/26/2024 11:47:57 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. I have split the script into 2 scripts. So please create a folder for this and change the number to D120 for the project name.
  2. For this script to be automated we have to write a step definition to create a table and put values into it.. I don’t think it’s worth creating a new step definition to test field embedding. Also we are adding a new CDISC file to the pack for this. Can I ask you to rewrite this. Use Project_redcap_val.xml and create a project. In Text Validation CRF, embed ‘Email {email} ; Name: {name}’ in the descriptive text field. Add a new record and enter data in the fields and verify logging

When I click on the link labeled “Logging” Then I should see table header and rows containing the following values in the logging table: | Username | Action | List of Data Changes OR Fields Exported | | test_user1 | Create record2 (Event 1 (Arm 1: Arm 1)) | email_v2 = ‘df@fdg.com’,ptname_v2_v2 = ‘fvfd’ |

So sorry for this. I should have thought about this earlier..

Created: 9/26/2024 11:42:22 AM Edited on: 9/26/2024 11:42:22 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. I have split the script into 2 scripts. So please create a folder for this and change the number to D120 for the project name.
  2. For this script to be automated we have to write a step definition to create a table and put values into it.. I don’t think it’s worth creating a new step definition to test field embedding. Also we are adding a new CDISC file to the pack for this. Can I ask you to rewrite this. Use Project_redcap_val.xml and create a project. In Text Validation CRF, embed ‘Email {email} ; Name: {name}’ in the descriptive text field. Add a new record and enter data in the fields and verify logging

|Username | Action | List of Data ChangesOR Fields Exported| | test_user1 | Create record2 (Event 1 (Arm 1: Arm 1)) | email_v2 = ‘df@fdg.com’,ptname_v2_v2 = ‘fvfd’ |

So sorry for this. I should have thought about this earlier..

Created: 9/26/2024 11:42:22 AM Edited on: 9/26/2024 11:41:28 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. I have split the script into 2 scripts. So please create a folder for this and change the number to D120 for the project name.
  2. For this script to be automated we have to write a step definition to create a table and put values into it.. I don’t think it’s worth creating a new step definition to test field embedding. Also we are adding a new CDISC file to the pack for this. Can I ask you to rewrite this. Use Project_redcap_val.xml and create a project. In Text Validation CRF, embed ‘Email {email} ; Name: {name}’ in the descriptive text field. Add a new record and enter data in the fields and verify logging
  3. |Username | Action | List of Data ChangesOR Fields Exported| | test_user1 | Create record2 (Event 1 (Arm 1: Arm 1)) | email_v2 = ‘df@fdg.com’,ptname_v2_v2 = ‘fvfd’ |

So sorry for this. I should have thought about this earlier..

Comment:

Author: MintooXavier Updated on: 9/26/2024 1:13:47 PM

Comment body:

@LawrenceFayers : Could you please review this.

Comment:

Author: LawrenceFayers Updated on: 9/26/2024 1:24:37 PM

Comment body:

Comments:
Line 35 the table in this step should also include a time/date column at the start.

Does this check every type of field embedding? Do you think we need to check when the answer to a question is displayed elsewhere rather than just the label of questions?

Comment edits:

Created: 9/26/2024 1:24:37 PM Edited on: 9/26/2024 1:24:37 PM Edited by: LawrenceFayers Deleted on: |none| Deleted by: |none|

Diff:

Comments: Line 35 the table in this step should also include a time/date column at the start.

Does this check every type of field embedding? Do you think we need to check when the answer to a question is displayed elsewhere rather than just the label of questions?

Created: 9/26/2024 1:24:37 PM Edited on: 9/26/2024 1:24:03 PM Edited by: LawrenceFayers Deleted on: |none| Deleted by: |none|

Diff:

Comments: Line 35 the table in this step should also include a time/date column

Does this check every type of field embedding? Do you think we need to check when the answer to a question is displayed elsewhere rather than just the label of questions?

Comment:

Author: MintooXavier Updated on: 9/26/2024 1:37:33 PM

Comment body:
  1. We have have checks with only some columns ..
  2. Do you mean all data types? I don’t think we need to check it.
  3. I have renamed my labels and checked if I cannot see Name and Email.

@LawrenceFayers : Please review.

Comment:

Author: LawrenceFayers Updated on: 9/26/2024 1:44:56 PM

Comment body:

All makes sense now, passed as far as I’m concerned.

Comment:

Author: MintooXavier Updated on: 11/1/2024 11:24:30 AM

Comment body:

Automated the script.


Timeline events:

LABELLED | User: MintooXavier Created on: 9/26/2024 10:30:57 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 9/26/2024 10:30:57 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 9/26/2024 10:30:57 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 9/26/2024 10:30:58 AM Assignee: LawrenceFayers

ISSUE COMMENT | User: MintooXavier Created on: 9/26/2024 11:41:28 AM Issue comment body:
  1. I have split the script into 2 scripts. So please create a folder for this and change the number to D120 for the project name.
  2. For this script to be automated we have to write a step definition to create a table and put values into it.. I don’t think it’s worth creating a new step definition to test field embedding. Also we are adding a new CDISC file to the pack for this. Can I ask you to rewrite this. Use Project_redcap_val.xml and create a project. In Text Validation CRF, embed ‘Email {email} ; Name: {name}’ in the descriptive text field. Add a new record and enter data in the fields and verify logging

When I click on the link labeled “Logging”
Then I should see table header and rows containing the following values in the logging table:
| Username | Action | List of Data Changes OR Fields Exported |
| test_user1 | Create record2 (Event 1 (Arm 1: Arm 1)) | email_v2 = ‘df@fdg.com’,ptname_v2_v2 = ‘fvfd’ |

So sorry for this. I should have thought about this earlier..

Probably I’ll write this..

ASSIGNED | User: MintooXavier Created on: 9/26/2024 11:54:23 AM Assignee: MintooXavier

UNASSIGNED | User: MintooXavier Created on: 9/26/2024 11:54:24 AM Assignee: LawrenceFayers

ISSUE COMMENT | User: MintooXavier Created on: 9/26/2024 1:13:47 PM Issue comment body:

@LawrenceFayers : Could you please review this.

MENTIONED | User: LawrenceFayers Created on: 9/26/2024 1:13:49 PM

SUBSCRIBED | User: LawrenceFayers Created on: 9/26/2024 1:13:49 PM

ISSUE COMMENT | User: LawrenceFayers Created on: 9/26/2024 1:24:03 PM Issue comment body:

Comments:
Line 35 the table in this step should also include a time/date column at the start.

Does this check every type of field embedding? Do you think we need to check when the answer to a question is displayed elsewhere rather than just the label of questions?

ISSUE COMMENT | User: MintooXavier Created on: 9/26/2024 1:37:33 PM Issue comment body:
  1. We have have checks with only some columns ..
  2. Do you mean all data types? I don’t think we need to check it.
  3. I have renamed my labels and checked if I cannot see Name and Email.

@LawrenceFayers : Please review.

MENTIONED | User: LawrenceFayers Created on: 9/26/2024 1:37:35 PM

SUBSCRIBED | User: LawrenceFayers Created on: 9/26/2024 1:37:35 PM

ISSUE COMMENT | User: LawrenceFayers Created on: 9/26/2024 1:44:56 PM Issue comment body:

All makes sense now, passed as far as I’m concerned.

ISSUE COMMENT | User: MintooXavier Created on: 11/1/2024 11:24:30 AM Issue comment body:

Automated the script.

UNLABELLED | User: MintooXavier Created on: 11/4/2024 12:39:01 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/4/2024 12:39:01 PM Label name: Automated Label description:


————— feature ends —————



Feature: 15. Direct Data Entry - Survey

Id: I_kwDOIaOBn86QbR27 Uid: redcap_cypress-73
Author: MintooXavier Created: 7/22/2024 2:46:37 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/73
Milestone: |none| Labels: Question || Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:52:01 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to test the data entry through surveys.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/15_direct_data_entry_through_survey.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.100%20-%20Enable%20Instrument%20as%20Survey.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.200%20-%20Survey%20Status.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.300%20-%20Survey%20Distribution%20Participant%20List.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.400%20-%20Open%20Survey%20from%20Form.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.500%20-%20Survey%20Alerts%20and%20Prompts.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.800%20-%20Edit%20Survey%20Responses.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.900%20-%20Survey%20Response%20Status.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.1000%20-%20Survey%20Participant%20List.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.1100%20-%20Survey%20Response%20Tracking.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.1200%20-%20Disabled%20Survey%20Behavior.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.1300%20-%20Public%20Survey%20Link.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/15_direct_data_entry_through_survey.spec

B.3.15.100 - User Interface: Survey Project Settings: The system shall support enabling and disabling each data collection instrument in a project as a survey.
B.3.15.200 - User Interface: Survey Project Settings: The system shall support survey status as active or offline.
B.3.15.300 - The system shall allow creation of a participant list automatically using a designated email field when a survey is in any instrument position.
B.3.15.400 - User Interface: Survey Distribution: The system shall provide a survey to be generated from within a participant record using these survey options: (Log out + Open survey | Open Survey link)
B.3.15.500 - User Interface: Survey Distribution: The system shall prompt the user to leave the survey to avoid overwriting survey responses when opening surveys from a data entry form when using Open Survey link.
D.3.15.600 - User Interface: Survey Distribution: The system shall allow creation of a participant list manually where each survey is assigned a unique survey link when the survey is in the first instrument position.
D.3.15.700 - User Interface: The system shall support the ability for a participant to enter data in a data collection instrument enabled and distributed as a survey.
B.3.15.800 - User Interface: The system shall allow submitted survey responses to be changed by a user who has edit survey responses rights.
B.3.15.900 - User Interface: The system shall support the following statuses for surveys: (Incomplete (no data saved) | Partial Survey Response | Completed Survey Response)
B.3.15.1000 - User Interface: Survey Project Settings: The system shall support a participant list for each survey in the project. A dropdown menu will list each survey or if a longitudinal project, each survey/event pairing from which to select the survey of interest.
B.3.15.1100 - User Interface: Survey Project Settings: The system shall support tracking responders and non-responders to surveys when using the participant list.
B.3.15.1200 - User Interface: Survey Project Settings: The system shall delete all survey related information and functions including survey link, return codes and date/time stamp when disabling survey functionality. Saved data will remain unaffected.
B.3.15.1300 - User Interface: Survey distribution: The system shall allow creation of a public survey link when the survey is in the first instrument position.
D.3.15.1400 - User Interface: Survey distribution: The system shall allow creation of a designated email field.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.100%20-%20Enable%20Instrument%20as%20Survey.feature

Feature: User Interface: Survey Project Settings: The system shall support enabling and disabling each data collection instrument in a project as a survey.

As a REDCap end user I want to see that Manage project user access is functioning as expected

Scenario: B.3.15.100.100 Enable/Disable survey in Online Designer ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.15.100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

When I click on the link labeled "Project Setup"
#PARENT #B.6.4.1300.100
Then I should see a button labeled "Disable" in the "Use surveys in this project?" row in the "Main project settings" section

#SETUP_PRODUCTION
When I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION Enable survey in Online Designer #B.3.15.100.100
Given I click on the link labeled "Designer"
Then I click on the "Enable" button for the instrument row labeled "Text Validation"
And I click on the button labeled "Save Changes"
##VERIFY
Then I should see "Your survey settings were successfully saved!"

##ACTION Verify survey function in record
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble

And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label

Given I clear field and enter "Name_B.3.15.100.100" into the data entry form field labeled "Name"
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey"
And I click on the button labeled "Close survey"

#Manual Only: Surveys open in the same window (by default) in automated tests (automated tests this in B.3.15.500 - Survey Alerts and Prompts)
#And I click on the button labeled "Leave without saving changes" in the dialog box

##VERIFY_DE
Given I return to the REDCap page I opened the survey from
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I see table rows containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Name                |
  | 1         | Name_B.3.15.100.100 |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username            | Action          | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | [survey respondent] | Update Response | name = 'Name_B.3.15.100.100'            |

#FUNCTIONAL REQUIREMENT
##ACTION Survey Offline
#B.3.15.200.100
Given I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Text Validation"
And I select "Survey Offline" on the dropdown field labeled "Survey Status"
And I click on the button labeled "Save Changes"
##VERIFY
Then I should see "Your survey settings were successfully saved!"
And I should see "Survey settings"

##ACTION Verify no survey function in record
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble

#VERIFY
Then I should NOT see "Survey options"
And I should see "Survey response is read-only"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see "This module lists all changes made to this project"
And I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Modify survey info                      |

##FUNCTIONAL REQUIREMENT
###ACTION Disable survey in Online Designer
Given I click on the link labeled "Designer"

And I click on the "Survey settings" button for the instrument row labeled "Text Validation"
And I click on the button labeled "Delete Survey Settings"
And I click on the button labeled "Delete Survey Settings" in the dialog box
Then I should see a dialog containing the following text: "Survey successfully deleted!"
And I click on the button labeled "Close" in the dialog box

##VERIFY
Then I should see the "Enable" button for the instrument row labeled "Text Validation"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see "This module lists all changes made to this project"
And I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Delete survey                           |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.200%20-%20Survey%20Status.feature

Feature: User Interface: Survey Project Settings: The system shall support survey status as active or offline.

As a REDCap end user I want to see that Manage project user access is functioning as expected

Scenario: B.3.15.200.100 Survey Online/Offline Status ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.15.200.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION Enable survey in Online Designer
Given I click on the link labeled "Designer"
Then I click on the "Enable" button for the instrument row labeled "Text Validation"
And I select "Survey Active" on the dropdown field labeled "Survey Status"
And I click on the button labeled "Save Changes"
##VERIFY
Then I should see "Your survey settings were successfully saved!"

##ACTION Verify survey function in record
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label

Given I clear field and enter "Name_survey" into the data entry form field labeled "Name"
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey"

##VERIFY_DE
Given I click on the button labeled "Close survey"
And I return to the REDCap page I opened the survey from
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see table rows containing the following values in the reports table:
  | A | All data (all records and fields) |

And I click on the "View Report" button in the row labeled "All data (all records and fields)"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Survey Timestamp | Name        |
  | 1         | mm-dd-yyyy hh:mm | Name_survey |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username            | Action          | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | [survey respondent] | Update Response | name = 'Name_survey'                    |
  | mm/dd/yyyy hh:mm | test_user1          | Manage/Design   | Set up survey                           |

#FUNCTIONAL REQUIREMENT
##ACTION Survey Offline
Given I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Text Validation"
And I select "Survey Offline" on the dropdown field labeled "Survey Status"
And I click on the button labeled "Save Changes"
##VERIFY
Then I should see "Your survey settings were successfully saved!"
And I should see "Survey settings"

##ACTION Verify no survey function in record
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 2" for record ID "2" and click on the bubble
#VERIFY
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see "Record ID 2 successfully edited"

Given I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Thank you for your interest, but this survey is not currently active."
And I click on the button labeled "Close survey"

#VERIFY_LOG
When I return to the REDCap page I opened the survey from
And I click on the link labeled "Logging"
Then I should see "This module lists all changes made to this project"
And I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Modify survey info                      |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.300%20-%20Survey%20Distribution%20Participant%20List.feature

Feature: The system shall allow creation of a participant list automatically using a designated email field when a survey is in any instrument position.

As a REDCap end user I want to see that Participant List is functioning as expected

Scenario: B.3.15.300.100 Participant list linked to designated email field ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.15.300.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##VERIFY_SETUP
Given I click on the link labeled "Project Setup"
Then I should see a button labeled "Disable" in the "Designate an email field for communications (including survey invitations and alerts)" row in the "Enable optional modules and customizations" section
And I should see "Field currently designated: email"

#SETUP_SURVEY enable survey in first position
When I click on the link labeled "Designer"
And I click on the "Enable" button for the instrument row labeled "Text Validation"
And I click on the button labeled "Save Changes"
Then I should see the enabled survey icon link for the instrument row labeled "Text Validation"

#FUNCTIONAL_REQUIREMENT
##ACTION Verify Survey Distribution Tool
When I click on the link labeled "Survey Distribution Tools"
And I click on the tab labeled "Participant List"
Then I should see the dropdown field labeled "belonging to" with the option '[Initial survey] "Text Validation" - Event 1 (Arm 1: Arm 1)' selected
And I should see a table header and rows containing the following values in the participant list table:
  | Email          | Record | Participant Identifier | Responded | Invitation Scheduled? | Invitation Sent ? | Link   | Survey Access Code |
  | email@test.edu | 1      | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |
And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.400%20-%20Open%20Survey%20from%20Form.feature

Feature: User Interface: Survey Distribution: The system shall provide a survey to be generated from within a participant record using these survey options: (Log out + Open survey | Open Survey link)

As a REDCap end user I want to see that Survey Distribution is functioning as expected

Scenario: B.3.15.400.100 Open survey mode ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.15.400.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION - Open survey
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Survey" longitudinal instrument on event "Event Three"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Please complete the survey below."

When I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey"
And I click on the button labeled "Close survey"

#Manual Only: Surveys open in the same window (by default) in automated tests (automated tests this in B.3.15.500 - Survey Alerts and Prompts)
#And I click on the button labeled "Leave without saving changes" in the dialog box

#FUNCTIONAL REQUIREMENT
##ACTION - Log out + Open survey
Given I return to the REDCap page I opened the survey from
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Survey" longitudinal instrument on event "Event Three"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Log out+ Open survey" label
Then I should see "Please complete the survey below"

When I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey"
And I click on the button labeled "Close survey"

##VERIFY_LOG:
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.3.15.400.100"
And I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username            | Action           | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | [survey respondent] | Update Response5 | survey_complete = '2'                   |
  | mm/dd/yyyy hh:mm | [survey respondent] | Update Response6 | survey_complete = '2'                   |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.500%20-%20Survey%20Alerts%20and%20Prompts.feature

Feature: User Interface: Survey Distribution: The system shall prompt the user to leave the survey to avoid overwriting survey responses when opening surveys from a data entry form when using Open Survey link.

As a REDCap end user I want to see that Survey Feature is functioning as expected

Scenario: B.3.15.500.100 Data form overwrite function post survey entry #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.3.15.500.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP_RECORD
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Survey" longitudinal instrument on event "Event Three"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label and will leave the tab open when I return to the REDCap project
Then I should see "Please complete the survey below."

#FUNCTIONAL REQUIREMENT
##ACTION Verify Leave this page while survey is in session
Given I click on the button labeled "Submit"
And I return to the REDCap page I opened the survey from
Then I should see a dialog containing the following text: "Recommended: Leave this page while survey is in session"
And I click on the button labeled "Leave without saving changes" in the dialog box

##VERIFY_LOG:
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username            | Action          | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | [survey respondent] | Update Response | survey_complete = '2'                   |

#FUNCTIONAL REQUIREMENT
##ACTION Verify Leave this page while survey is in session
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Survey" longitudinal instrument on event "Event Three"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label and will leave the tab open when I return to the REDCap project
Then I should see "Please complete the survey below."

#FUNCTIONAL REQUIREMENT
##ACTION Verify stay on page and edit survey
Given I click on the button labeled "Submit"
And I return to the REDCap page I opened the survey from
When I click on the button labeled "Stay on page" in the dialog box
And I clear field and enter "Overwrite Name" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 6 successfully edited."

##VERIFY_LOG:
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username            | Action          | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin          | Update record   | name_survey = 'Overwrite Name'          |
  | mm/dd/yyyy hh:mm | [survey respondent] | Update Response | survey_complete = '2'                   |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.800%20-%20Edit%20Survey%20Responses.feature

Feature: User Interface: The system shall allow submitted survey responses to be changed by a user who has edit survey responses rights.

As a REDCap end user I want to see that Survey Feature is functioning as expected

Scenario: B.3.15.800.100 Edit survey response ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.15.800.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##USER_RIGHTS - 1_FullRights
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

#SETUP_RECORD
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Survey" longitudinal instrument on event "Event Three"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
When I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Please complete the survey below"

When I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

When I click on the button labeled "Close survey"

#Manual Only: Surveys open in the same window (by default) in automated tests (automated tests this in B.3.15.500 - Survey Alerts and Prompts)
#And I click on the button labeled "Leave without saving changes"

Given I return to the REDCap page I opened the survey from
And I click on the link labeled "Record Status Dashboard"
And I should see the "Completed Survey Response" icon for the "Survey" longitudinal instrument on event "Event Three" for record "5"

##VERIFY_LOG:
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username            | Action           | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | [survey respondent] | Update Response5 | survey_complete = '2'                   |

#FUNCTIONAL_REQUIREMENT
##ACTION Edit survey response
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event Three" for record ID "5" and click on the bubble
Then I should see the button labeled "Edit response"

When I click on button labeled "Edit response"
Then I should see "(now editing)"

Given I clear field and enter "Name_EDITRESPONSE" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record ID 5 successfully edited"

##VERIFY_LOG:
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action         | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Update record5 | name_survey = 'Name_EDITRESPONSE'       |

#VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event Three" for record ID "5" and click on the bubble
Then I should see "Name_EDITRESPONSE" in the data entry form field "Name"

##USER_RIGHTS - 3_ReadOnly_Deidentified
When I click on the link labeled "User Rights"
And I click on the link labeled "Test User1"
And I click on the button labeled "Re-assign to role"
And I select "3_ReadOnly_Deidentified" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "3_ReadOnly_Deidentified" row of the column labeled "Username" of the User Rights table

#FUNCTIONAL_REQUIREMENT
##ACTION Unable to edit survey response
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event Three" for record ID "5" and click on the bubble
Then I should see "Survey response is read-only"
And I should NOT see the button labeled "Edit response"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.900%20-%20Survey%20Response%20Status.feature

Feature: User Interface: The system shall support the following statuses for surveys: (Incomplete (no data saved) | Partial Survey Response | Completed Survey Response)

As a REDCap end user I want to see that Survey Feature is functioning as expected

Scenario: B.3.15.900.100 Survey completion statuses ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.15.900.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP_DESIGNER
When I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Survey"
And I select "Yes" on the dropdown field labeled "Allow 'Save & Return Later' option for respondents?"
And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved!"

#FUNCTIONAL REQUIREMENT
##ACTION Survey mode Incomplete (no data saved)
Given I click on the link labeled "Record Status Dashboard"
##VERIFY_incomplete (no data) icon on record homepage
Then I should see the "Incomplete (no data saved)" icon for the "Survey" longitudinal instrument on event "Event Three" for record "4"

#FUNCTIONAL REQUIREMENT
##ACTION Survey mode Partial Survey Response
Given I click on the button labeled "Add new record for this arm"
When I click the bubble to add a record for the "Survey" longitudinal instrument on event "Event Three"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Please complete the survey below"

##VERIFY_RSD
Given I click on the button labeled "Save & Return Later"
And I click on the button labeled "Close" in the dialog box

#M: Close browser tab
#Manual Only: Surveys open in the same window (by default) in automated tests (automated tests this in B.3.15.500 - Survey Alerts and Prompts)
#And I click on the button labeled "Leave without saving changes" in the dialog box

When I return to the REDCap page I opened the survey from
And I click on the link labeled "Record Status Dashboard"
Then I should see the "Partial Survey Response" icon for the "Survey" longitudinal instrument on event "Event Three" for record "5"

#FUNCTIONAL REQUIREMENT
##ACTION Survey mode Completed Survey Response
Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to select a record for the "Survey" longitudinal instrument on event "Event Three"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Please complete the survey below"

When I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."
And I click on the button labeled "Close survey"

##VERIFY_RSD
#Manual Only: Surveys open in the same window (by default) in automated tests (automated tests this in B.3.15.500 - Survey Alerts and Prompts)
# When I click on the button labeled "Leave without saving changes"

Given I return to the REDCap page I opened the survey from
And I click on the link labeled "Record Status Dashboard"
Then I should see the "Completed Survey Response" icon for the "Survey" longitudinal instrument on event "Event Three" for record "6"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.1000%20-%20Survey%20Participant%20List.feature

Feature: User Interface: Survey Project Settings: The system shall support a participant list for each survey in the project. A dropdown menu will list each survey or if a longitudinal project, each survey/event pairing from which to select the survey of interest.

As a REDCap end user I want to see that Participant List is functioning as expected

Scenario: B.3.15.1000.100 Distribution tools for longitudinal project #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.3.15.1000.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION: Change survey distribution to form not in position 1
When I click on the link labeled "Survey Distribution Tools"
When I select '"Consent" - Event 1 (Arm 1: Arm 1)' on the dropdown field labeled "Participant List"
##VERIFY: YOU SEE RECORD 1
Then I should see a table header and rows containing the following values in the participant list table:
  | Email             | Record | Participant Identifier | Responded | Invitation Scheduled? | Invitation Sent ? | Link   | Survey Access Code |
  | [No email listed] |        | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |
  | [No email listed] |        | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |
  | email@test.edu    | 1      | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |
  | email@test.edu    | 2      | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |

#
###ACTION: Change survey distribution to form not in position 1
When I select '"Survey" - Event Three (Arm 1: Arm 1)' on the dropdown field labeled "Participant List"
##VERIFY: YOU SEE RECORD 1
Then I should see a table header and rows containing the following values in the participant list table:
  | Email             | Record | Participant Identifier | Responded | Invitation Scheduled? | Invitation Sent ? | Link   | Survey Access Code |
  | [No email listed] |        | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |
  | [No email listed] |        | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |
  | email@test.edu    | 1      | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |
  | email@test.edu    | 2      | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.1100%20-%20Survey%20Response%20Tracking.feature

Feature: User Interface: Survey Project Settings: The system shall support tracking responders and non-responders to surveys when using the participant list.

As a REDCap end user I want to see that Survey Feature is functioning as expected

Scenario: B.3.15.1100.100 Tracking survey responders #ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.15.1100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##VERIFY_SDT
Given I click on the link labeled "Survey Distribution Tools"
When I click on the tab labeled "Participant List"
Then I should see the dropdown field labeled "Participant List" with the option '"Consent" - Event 1 (Arm 1: Arm 1)' selected
And I should see a "gray bubble" within the "1)  email@test.edu" row of the column labeled "Responded?" of the Participant List table
And I should see a "gray bubble" within the "2)  email@test.edu" row of the column labeled "Responded?" of the Participant List table

#FUNCTIONAL_REQUIREMENT
##ACTION
When I click on the link labeled exactly "1"
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
And I click on the button labeled "Next Page >>"
And I check the checkbox labeled "I certify that all of my information in the document above is correct"
And I click on the button labeled "Submit"
And I click on the button labeled "Close survey"

Given I return to the REDCap page I opened the survey from
And I click on the link labeled "Survey Distribution Tools"
When I click on the tab labeled "Participant List"
Then I should see the dropdown field labeled "Participant List" with the option '"Consent" - Event 1 (Arm 1: Arm 1)' selected
And I should see a "green checkmark" within the "1)  email@test.edu" row of the column labeled "Responded?" of the Participant List table
And I should see a "gray bubble" within the "2)  email@test.edu" row of the column labeled "Responded?" of the Participant List table

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.1200%20-%20Disabled%20Survey%20Behavior.feature

Feature: User Interface: Survey Project Settings: The system shall delete all survey-related information and functions including survey link, return codes and date/time stamp when disabling survey functionality. Saved data will remain unaffected.

As a REDCap end user I want to see that Survey Feature is functioning as expected

Scenario: B.3.15.1200.100 Deletion of meta data includes deletion of survey information and function ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.3.15.1200.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP: DESIGNER
Given I click on the link labeled "Designer"
And I click on the "Enable" button for the instrument row labeled "Text Validation"
And I click on the button labeled "Save Changes"
Then I should see the enabled survey icon link for the instrument row labeled "Text Validation"

Given I click on the "Survey settings" button for the instrument row labeled "Text Validation"
When I select "Yes" on the dropdown field labeled "Allow 'Save & Return Later' option for respondents?"
And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved"

##VERIFY_SDT: verifying survey link and return codes are available
Given I click on the link labeled "Survey Distribution Tools"
And I click on the tab labeled "Participant List"
Then I should see a button labeled "Add participants"
And I should see the dropdown field labeled "Participant List" with the options below
  | [Initial survey] "Text Validation" - Event 1 (Arm 1: Arm 1) |
  | "Consent" - Event 1 (Arm 1: Arm 1)                          |
  | "Text Validation" - Event 2 (Arm 1: Arm 1)                  |
  | "Survey" - Event Three (Arm 1: Arm 1)                       |
  | "Consent" - Event Three (Arm 1: Arm 1)                      |

And I should see a table header and rows containing the following values in a table:
  | Email             | Record | Participant Identifier | Responded | Invitation Scheduled? | Invitation Sent ? | Link   | Survey Access Code |
  | [No email listed] |        | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |
  | [No email listed] |        | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |
  | email@test.edu    | 1      | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |
  | email@test.edu    | 2      | Disabled               | [icon]    | -                     | [icon]            | [icon] | [icon]             |

##ACTION
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label

#Survey
Then I should see "Please complete the survey below."
And I clear field and enter "B.3.15.1200.100" into the data entry form field labeled "Name"
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey"

Given I click on the button labeled "Close survey"
#And I click on the button labeled "Leave without saving changes" in the dialog box

##VERIFY_DE
Given I return to the REDCap page I opened the survey from
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Event Name             | Repeat Instrument | Repeat Instance | Data Access Group | Survey Identifier | Survey Timestamp | Name            |
  | 1         | Event 1 (Arm 1: Arm 1) |                   |                 |                   |                   | mm-dd-yyyy hh:mm | B.3.15.1200.100 |

And I should see "text_validation_timestamp"

#FUNCTIONAL REQUIREMENT
##ACTION
When I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Text Validation"
And I click on the button labeled "Delete Survey Settings"
And I click on the button labeled "Delete Survey Settings" in the dialog box
Then I should see "Survey successfully deleted!"
When I click on the button labeled "Close" in the dialog box
Then I should see the "Enable" button for the instrument row labeled "Text Validation"

##VERIFY_DE: confirm
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Event Name             | Repeat Instrument | Repeat Instance | Data Access Group | Survey Identifier | Name            |
  | 1         | Event 1 (Arm 1: Arm 1) |                   |                 |                   |                   | B.3.15.1200.100 |

#MANUAL: Note that "text_validation_timestamp" is the column VARIABLE name used if Text Validation instrument was enabled as survey.
# Cannot look for "Survey Timestamp" because that same LABEL is used for all survey timestamp columns.
And I should NOT see "text_validation_timestamp"

##VERIFY_SDT: verifying survey link and return codes are NOT available
Given I click on the link labeled "Survey Distribution Tools"
And I click on the tab labeled "Participant List"

#MANUAL: We are verifying that you do NOT see "Text Validation" in the dropdown labeled "Participant List".
# For comparison, see line 43 where "Text Validation" is included in this list ...
Then I should see the dropdown field labeled "Participant List" with the options below
  | "Consent" - Event 1 (Arm 1: Arm 1)     |
  | "Survey" - Event Three (Arm 1: Arm 1)  |
  | "Consent" - Event Three (Arm 1: Arm 1) |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Direct%20Data%20Entry%20-%20Survey_15/B.3.15.1300%20-%20Public%20Survey%20Link.feature

Feature: User Interface: Survey distribution: The system shall allow creation of a public survey link when the survey is in the first instrument position.

As a REDCap end user I want to see that Manage project user access is functioning as expected

Scenario: B.3.15.1300.100 Public survey link #SETUP Given I login to REDCap with the user “Test_User1” And I create a new project named “B.3.15.1300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#FUNCTIONAL REQUIREMENT
##ACTION - 1st instrument is not set-up as survey
When I click on the link labeled "Survey Distribution Tools"
Then I should see "Survey Response Status"
When I click on the tab labeled "Public Survey Link"
#VERIFY
Then I should see "Public Survey not set up yet"

#SETUP - enable first instrument survey
When I click on the button labeled "Enable public survey"
Then I should see "Set up my survey for data collection instrument"
When I click on the button labeled "Save Changes"
Then I should see "Data Collection Instruments"

#FUNCTIONAL REQUIREMENT
##ACTION - public survey link
When I click on the link labeled "Survey Distribution Tools"
#VERIFY
Then I should see "Public Survey URL:"

When I click on the button labeled "Open public survey"
Then I should see "Please complete the survey below."

Given I click on the button labeled "Submit"
And I click on the button labeled "Close survey"
Then I should see "You may now close this tab/window"

#VERIFY_LOG
Given I return to the REDCap page I opened the survey from
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username            | Action          |
  | mm/dd/yyyy hh:mm | [survey respondent] | Create Response |

Comments:

Comment:

Author: MintooXavier Updated on: 7/31/2024 3:14:17 PM

Comment body:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List
  4. B.3.15.400 - Open Survey from Form
  5. B.3.15.500 - Survey Alerts and Prompts
  6. B.3.15.800 - Edit Survey Responses
  7. B.3.15.900 - Survey Response Status
  8. B.3.15.1000 - Survey Participant List
  9. B.3.15.1100 - Survey Response Tracking
  10. B.3.15.1200 - Disabled Survey Behavior
  11. B.3.15.1300 - Public Survey Link

All scripts pass

Comment edits:

Created: 7/31/2024 3:14:17 PM Edited on: 7/31/2024 3:14:17 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List
  4. B.3.15.400 - Open Survey from Form
  5. B.3.15.500 - Survey Alerts and Prompts
  6. B.3.15.800 - Edit Survey Responses
  7. B.3.15.900 - Survey Response Status
  8. B.3.15.1000 - Survey Participant List
  9. B.3.15.1100 - Survey Response Tracking
  10. B.3.15.1200 - Disabled Survey Behavior
  11. B.3.15.1300 - Public Survey Link

All scripts pass

Created: 7/31/2024 2:59:40 PM Edited on: 7/31/2024 2:59:40 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List
  4. B.3.15.400 - Open Survey from Form
  5. B.3.15.500 - Survey Alerts and Prompts
  6. B.3.15.800 - Edit Survey Responses
  7. B.3.15.900 - Survey Response Status
  8. B.3.15.1000 - Survey Participant List
  9. B.3.15.1100 - Survey Response Tracking
  10. B.3.15.1200 - Disabled Survey Behavior
  11. B.3.15.1300 - Public Survey Link

Created: 7/31/2024 2:48:51 PM Edited on: 7/31/2024 2:48:51 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List
  4. B.3.15.400 - Open Survey from Form
  5. B.3.15.500 - Survey Alerts and Prompts
  6. B.3.15.800 - Edit Survey Responses
  7. B.3.15.900 - Survey Response Status
  8. B.3.15.1000 - Survey Participant List
  9. B.3.15.1100 - Survey Response Tracking
  10. B.3.15.1300 - Public Survey Link

Created: 7/31/2024 2:44:59 PM Edited on: 7/31/2024 2:44:59 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List
  4. B.3.15.400 - Open Survey from Form
  5. B.3.15.500 - Survey Alerts and Prompts
  6. B.3.15.800 - Edit Survey Responses
  7. B.3.15.900 - Survey Response Status
  8. B.3.15.1000 - Survey Participant List
  9. B.3.15.1300 - Public Survey Link

Created: 7/31/2024 2:34:19 PM Edited on: 7/31/2024 2:34:19 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List
  4. B.3.15.400 - Open Survey from Form
  5. B.3.15.500 - Survey Alerts and Prompts
  6. B.3.15.800 - Edit Survey Responses
  7. B.3.15.900 - Survey Response Status
  8. B.3.15.1300 - Public Survey Link

Created: 7/31/2024 2:31:18 PM Edited on: 7/31/2024 2:31:18 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List
  4. B.3.15.400 - Open Survey from Form
  5. B.3.15.500 - Survey Alerts and Prompts
  6. B.3.15.800 - Edit Survey Responses
  7. B.3.15.1300 - Public Survey Link

Created: 7/26/2024 12:50:13 PM Edited on: 7/26/2024 12:50:13 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List
  4. B.3.15.400 - Open Survey from Form
  5. B.3.15.500 - Survey Alerts and Prompts
  6. B.3.15.800 - Edit Survey Responses

Created: 7/26/2024 12:39:19 PM Edited on: 7/26/2024 12:39:19 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List
  4. B.3.15.400 - Open Survey from Form
  5. B.3.15.500 - Survey Alerts and Prompts

Created: 7/26/2024 12:12:51 PM Edited on: 7/26/2024 12:12:51 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List
  4. B.3.15.400 - Open Survey from Form

Created: 7/26/2024 11:52:06 AM Edited on: 7/26/2024 11:52:06 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List

Created: 7/26/2024 8:50:43 AM Edited on: 7/26/2024 8:50:43 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status

Created: 7/23/2024 9:22:02 AM Edited on: 7/23/2024 9:22:02 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey

Created: 7/23/2024 9:22:02 AM Edited on: 7/23/2024 9:21:35 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

Comment:

Author: MintooXavier Updated on: 7/23/2024 9:24:26 AM

Comment body:
  1. B.3.15.100 - Enable Instrument as Survey

Comment edits:

Created: 7/23/2024 9:24:26 AM Edited on: 7/23/2024 9:24:26 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.15.100 - Enable Instrument as Survey
  • Added steps to verify logging after deleting survey settings
  • Script modified and pushed to MX_v13.1.37

Created: 7/23/2024 9:24:26 AM Edited on: 7/23/2024 9:21:50 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.15.100 - Enable Instrument as Survey
  • Added step to verify logging after deleting survey settings
  • Script modified and pushed to MX_v13.1.37

Comment:

Author: MintooXavier Updated on: 7/29/2024 1:43:46 PM

Comment body:

ATS team accepted the changes

Comment:

Author: MintooXavier Updated on: 7/31/2024 3:13:23 PM

Comment body:

B.3.15.1200 - Disabled Survey Behavior


Timeline events:

ASSIGNED | User: MintooXavier Created on: 7/22/2024 3:07:33 PM Assignee: MintooXavier

LABELLED | User: MintooXavier Created on: 7/22/2024 3:07:39 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/22/2024 3:07:39 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/22/2024 3:07:39 PM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 7/23/2024 9:21:35 AM Issue comment body:

Scripts Pre-reviewed:

  1. B.3.15.100 - Enable Instrument as Survey
  2. B.3.15.200 - Survey Status
  3. B.3.15.300 - Survey Distribution Participant List
  4. B.3.15.400 - Open Survey from Form
  5. B.3.15.500 - Survey Alerts and Prompts
  6. B.3.15.800 - Edit Survey Responses
  7. B.3.15.900 - Survey Response Status
  8. B.3.15.1000 - Survey Participant List
  9. B.3.15.1100 - Survey Response Tracking
  10. B.3.15.1200 - Disabled Survey Behavior
  11. B.3.15.1300 - Public Survey Link

All scripts pass

ISSUE COMMENT | User: MintooXavier Created on: 7/23/2024 9:21:50 AM Issue comment body:
  1. B.3.15.100 - Enable Instrument as Survey
ISSUE COMMENT | User: MintooXavier Created on: 7/29/2024 1:43:46 PM Issue comment body:

ATS team accepted the changes

ISSUE COMMENT | User: MintooXavier Created on: 7/31/2024 3:13:23 PM Issue comment body:

B.3.15.1200 - Disabled Survey Behavior

LABELLED | User: MintooXavier Created on: 7/31/2024 3:13:33 PM Label name: Question Label description: Further information is requested

UNLABELLED | User: MintooXavier Created on: 10/7/2024 12:53:20 PM Label name: Question Label description: Further information is requested

LABELLED | User: MintooXavier Created on: 10/7/2024 12:54:08 PM Label name: Question Label description: Further information is requested


————— feature ends —————



Feature: 111. Codebook

Id: I_kwDOIaOBn86LWGfF Uid: redcap_cypress-50
Author: MintooXavier Created: 6/6/2024 9:44:45 AM
Assignees: MintooXavier || rukayat-yakub Resource path: /CCTC-team/redcap_cypress/issues/50
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:00:19 PM
Locked: false Participants: MintooXavier || rukayat-yakub

Project item body:

Brief description:
The Codebook is a human-readable, read-only version of the project’s Data Dictionary and serves as a quick reference for viewing the attributes of any given field in the project without having to download and interpret the Data Dictionary.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/111_codebook.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Codebook_111/D.111.100%20-%20Codebook.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Codebook_111/D.111.200%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/111_codebook.spec

D.111.100 - The system shall support the ability to autogenerate codebook. The following are checked in codebook:
    D.111.100.1 - The following are checked for a field in codebook:
        D.111.100.1.1 - Variable name
        D.111.100.1.2 - Label
        D.111.100.1.3 - Type
        D.111.100.1.4 - Field note
        D.111.100.1.5 - Branching Logic
        D.111.100.1.6 - Action tag
        D.111.100.1.7 - Identifier
        D.111.100.1.8 - Required
    D.111.100.2 - The following subset of field types are verified
        D.111.100.2.1 - Textbox with email selected
        D.111.100.2.2 - Textbox with date format e.g. D-M-Y
        D.111.100.2.3 - Dropdown
        D.111.100.2.4 - Radio button
        D.111.100.2.5 - Checkbox
        D.111.100.2.6 - Calculated Field
        D.111.100.2.7 - Descriptive Text (with optional Image/Video/Audio/File Attachment)
D.111.200 - The system shall support the ability to modify and delete fields, which will subsequently alter the codebook.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Codebook_111/D.111.100%20-%20Codebook.feature

Feature: D.111.100 - The system shall support the ability to autogenerate codebook. The following are checked in codebook: D.111.100.1 - The following are checked for a field in codebook: D.111.100.1.1 - Variable name D.111.100.1.2 - Label D.111.100.1.3 - Type D.111.100.1.4 - Field note D.111.100.1.5 - Branching Logic D.111.100.1.6 - Action tag
D.111.100.1.7 - Identifier D.111.100.1.8 - Required D.111.100.2 - The following subset of field types are verified D.111.100.2.1 - Textbox with email selected D.111.100.2.2 - Textbox with date format e.g. D-M-Y D.111.100.2.3 - Dropdown D.111.100.2.4 - Radio button D.111.100.2.5 - Checkbox D.111.100.2.6 - Calculated Field D.111.100.2.7 - Descriptive Text (with optional Image/Video/Audio/File Attachment) D.111.200 - The system shall support the ability to modify and delete fields, which will subsequently alter the codebook.

As a REDCap end user
I want to see that Codebook is functioning as expected

Scenario: Adding fields and verifying Codebook.

    #SETUP
    Given I login to REDCap with the user "Test_User1"   
    When I click on the link labeled "New Project"
    And I enter "D.111.100" into the input field labeled "Project title"
    And I select "Practice / Just for fun" on the dropdown field labeled "Project's purpose"
    And I click on the radio labeled "Empty project (blank slate)"
    And I click on the button labeled "Create Project"

    ##VERIFY_Codebook 
    When I click on the link labeled "Codebook"
    And I should see a table header and rows containing the following values in the codebook table:  
        | # | Variabl / Field Name        | Field Label                             | Field Attributes (Field Type, Validation, Choices, Calculations, etc.) | 
        |   | Instrument: Form 1 (form_1) |                                         |                                                                        |   
        | 1 | [record_id]                 | Record ID                               | text                                                                   | 
        | 2 | [form_1_complete]           | Section Header: Form Status Complete?   | dropdown                                                               | 
        | 2 | [form_1_complete]           | Section Header: Form Status Complete?   | 0 Incomplete                                                           | 
        | 2 | [form_1_complete]           | Section Header: Form Status Complete?   | 1 Unverified                                                           | 
        | 2 | [form_1_complete]           | Section Header: Form Status Complete?   | 2 Complete                                                             | 
    
    ##ACTION: Rename instrument
    Given I click on the link labeled "Online Designer"
    When I click on the button labeled "Choose action"
    And I click on the link labeled "Rename" in the action popup
    And I clear field and enter "Text Validation" into the field with the placeholder text of "Form 1"
    And I click on the button labeled "Save" to rename an instrument
    Then I should see "Text Validation" 

    ##ACTION: Create new instrument (Data Types)
    #Oddly, we need the space before this button because otherwise we match on "Create snapshot of instruments"
    When I click on the button labeled exactly " Create"
    And I click on the button labeled "Add instrument here"
    Then I should see "New instrument name:"
    When I enter "Data Types" into the input field labeled "New instrument name:" within the data collection instrument list
    And I click on the last button labeled "Create"
    Then I should see "SUCCESS!"
    And I click on the button labeled "Close" in the dialog box
    Then I should see "Data Types"

    ##VERIFY_Codebook 
    When I click on the link labeled "Codebook"
    Then I should see a table header and rows containing the following values in the codebook table:  
        | # | Variabl / Field Name                          | Field Label                             | Field Attributes (Field Type, Validation, Choices, Calculations, etc.) | 
        |   | Instrument: Text Validation (text_validation) |                                         |                                                                        |   
        | 1 | [record_id]                                   | Record ID                               | text                                                                   | 
        | 2 | [text_validation_complete]                    | Section Header: Form Status Complete?   | dropdown                                                               | 
        | 2 | [text_validation_complete]                    | Section Header: Form Status Complete?   | 0 Incomplete                                                           | 
        | 2 | [text_validation_complete]                    | Section Header: Form Status Complete?   | 1 Unverified                                                           | 
        | 2 | [text_validation_complete]                    | Section Header: Form Status Complete?   | 2 Complete                                                             |  
        |   | Instrument: Data Types (data_types)           |                                         |                                                                        |   
        | 3 | [data_types_complete]                         | Section Header: Form Status Complete?   | dropdown                                                               | 
        | 3 | [data_types_complete]                         | Section Header: Form Status Complete?   | 0 Incomplete                                                           | 
        | 3 | [data_types_complete]                         | Section Header: Form Status Complete?   | 1 Unverified                                                           | 
        | 3 | [data_types_complete]                         | Section Header: Form Status Complete?   | 2 Complete                                                             | 

    When I click on the link labeled "Designer"
    Then I should see "Data Collection Instruments"

    #FUNCTIONAL_REQUIREMENT
    ##ACTION: Create Text Box and Email fields
    When I click on the instrument labeled "Text Validation"
    Then I should see "Record ID" within the field with variable name "record_id"
    And I add a new Text Box field labeled "Name" with variable name "ptname_v2" and click on the "Save" button
    And I click on the last button labeled "Add Field"
    And I select "Text Box (Short Text, Number, Date/Time, ...)" from the Field Type dropdown of the open "Add New Field" dialog box
    And I enter "email_v2" into the Variable Name of the open "Add New Field" dialog box
    And I enter "Email" into the Field Label of the open "Add New Field" dialog box
    And I select "Email" on the dropdown field labeled "Validation?"
    And I click on the textarea labeled "Action Tags / Field Annotation"
    And I clear field and enter "@NOMISSING" in the textarea field labeled "Logic Editor" in the dialog box
    And I click on the button labeled "Update & Close Editor"
    And I click on the button labeled "Save" in the dialog box
    When I click on the Branching Logic icon for the variable "email"
    And I click on "'" in the textarea field labeled "Advanced Branching Logic Syntax" in the dialog box
    And I clear field and enter '[ptname_v2] != ""' in the textarea field labeled "Logic Editor" in the dialog box
    And I click on the button labeled "Update & Close Editor" in the dialog box
    And I click on the button labeled "Save" in the dialog box
    Then I should see 'Branching logic: [ptname_v2] != ""' within the field with variable name "email"

    ##ACTION: Create Date and Multiple Choice Dropdown fields
    When I click on the button labeled "Next instrument"
    Then I should see "Data Types"
    And I click on the button labeled "Add Field"
    And I select "Text Box (Short Text, Number, Date/Time, ...)" from the Field Type dropdown of the open "Add New Field" dialog box
    And I enter "Date of Trial" into the Field Label of the open "Add New Field" dialog box
    And I enter "date_trial" into the Variable Name of the open "Add New Field" dialog box
    And I select "Date (D-M-Y)" on the dropdown field labeled "Validation?"
    And I enter "01-01-2006" into the input field labeled "Minimum"
    And I enter "today" into the input field labeled "Maximum"
    And I enter "must not be in the future" into the input field labeled "Field Note"
    And I click on the button labeled "Save" in the dialog box
    Then I click on the last button labeled "Add Field"
    And I select "Multiple Choice - Drop-down List (Single Answer)" from the Field Type dropdown of the open "Add New Field" dialog box
    And I enter "Multiple Choice Dropdown Manual" into the Field Label of the open "Add New Field" dialog box
    And I enter "multiple_dropdown_manual" into the Variable Name of the open "Add New Field" dialog box
    And I enter Choices of "5, DDChoice5" into the open "Add New Field" dialog box
    And I enter Choices of "7, DDChoice7" into the open "Add New Field" dialog box
    And I enter Choices of "6, DDChoice6" into the open "Add New Field" dialog box
    And I click on the button labeled "Save" in the "Add New Field" dialog box
    Then I should see the dropdown field labeled "Multiple Choice Dropdown Manual" with the options below
        | DDChoice5 |
        | DDChoice7 |
        | DDChoice6 |

    ##ACTION: Create Checkbox and File Upload fields
    When I click on the last button labeled "Add Field"
    And I select "Checkboxes (Multiple Answers)" from the Field Type dropdown of the open "Add New Field" dialog box
    And I enter "Checkbox" into the Field Label of the open "Add New Field" dialog box
    And I enter "checkbox" into the Variable Name of the open "Add New Field" dialog box
    And I enter Choices of "1, Checkbox1" into the open "Add New Field" dialog box
    And I enter Choices of "2, Checkbox2" into the open "Add New Field" dialog box
    And I enter Choices of "3, Checkbox3" into the open "Add New Field" dialog box
    And I enter Choices of "4, Checkbox4" into the open "Add New Field" dialog box
    And I click on the button labeled "Save" in the "Add New Field" dialog box
    Then I should see the multiselect field labeled "checkbox" with the options below
        | Checkbox1 |
        | Checkbox2 |
        | Checkbox3 |
        | Checkbox4 |

    When I click on the last button labeled "Add Field"
    And I select "File Upload (for users to upload files)" from the Field Type dropdown of the open "Add New Field" dialog box
    And I enter "File Upload" into the Field Label of the open "Add New Field" dialog box
    And I enter "file_upload" into the Variable Name of the open "Add New Field" dialog box
    And I click on the button labeled "Save" in the "Add New Field" dialog box
    Then I should see the link labeled "Upload file"

    ##ACTION: Create Radio Button and Calculated fields
    When I click on the last button labeled "Add Field"
    And I select "Multiple Choice - Radio Buttons (Single Answer)" from the Field Type dropdown of the open "Add New Field" dialog box
    And I enter "Radio Button Manual" into the Field Label of the open "Add New Field" dialog box
    And I enter "radio_button_manual" into the Variable Name of the open "Add New Field" dialog box
    And I enter Choices of "99, Choice99" into the open "Add New Field" dialog box
    And I enter Choices of "100, Choice100" into the open "Add New Field" dialog box
    And I enter Choices of "101, Choice101" into the open "Add New Field" dialog box
    And I click on the button labeled "Save" in the "Add New Field" dialog box
    Then I should see the radio field labeled "Radio Button Manual" with the options below
        | Choice99  |
        | Choice100 |
        | Choice101 |

    When I click on the last button labeled "Add Field"
    And I select "Calculated Field" from the Field Type dropdown of the open "Add New Field" dialog box
    And I enter "Calculated Field" into the Field Label of the open "Add New Field" dialog box
    And I enter "calculated_field" into the Variable Name of the open "Add New Field" dialog box
    And I enter the equation "3*2" into Calculation Equation of the open "Add New Field" dialog box
    And I click on the button labeled "Save" in the "Add New Field" dialog box
    Then I should see a field named "Calculated Field"
    And I should see a link labeled "View equation"

    ##ACTION: Create Descriptive text field
    When I click on the last button labeled "Add Field"
    And I select "Descriptive Text (with optional Image/Video/Audio/File Attachment)" from the Field Type dropdown of the open "Add New Field" dialog box
    And I enter "Descriptive Text with File" into the Field Label of the open "Add New Field" dialog box
    And I enter "descriptive_text_file" into the Variable Name of the open "Add New Field" dialog box
    And I click on the link labeled "Upload file" in the dialog box
    And I see a dialog containing the following text: "Attach an image, file, or embedded audio"
    When I upload a "docx" format file located at "import_files/File_upload.docx", by clicking the button near "Select a file then click the 'Upload File' button" to browse for the file, and clicking the button labeled "Upload file" to upload the file
    Then I should see "Document was successfully uploaded!" in the dialog box
    And I click on the button labeled "Close" in the dialog box
    And I click on the button labeled "Save" in the "Add New Field" dialog box
    Then I should see the field labeled "Descriptive Text with File"
    And I should see the link labeled "File_upload.docx"

    ##ACTION: Designating field as identifier
    When I click on the last button labeled "Add Field"
    And I select "Text Box (Short Text, Number, Date/Time, ...)" from the Field Type dropdown of the open "Add New Field" dialog box
    And I enter "Identifier" into the Field Label of the open "Add New Field" dialog box
    And I enter "identifier_2" into the Variable Name of the open "Add New Field" dialog box
    And I mark the field as an identifier
    And I click on the button labeled "Save"
    Then I should see the field labeled "Identifier"

    ##ACTION Designating field as required
    When I click on the last button labeled "Add Field"
    And I select "Text Box (Short Text, Number, Date/Time, ...)" from the Field Type dropdown of the open "Add New Field" dialog box
    And I enter "Required" into the Field Label of the open "Add New Field" dialog box
    And I enter "required_2" into the Variable Name of the open "Add New Field" dialog box
    And I mark the field required
    And I click on the button labeled "Save"
    Then I should see "must provide value" within the field with variable name "required_2"

    #FUNCTIONAL_REQUIREMENT
    ##VERIFY_Codebook 
    When I click on the link labeled "Codebook"
    And I should see a table header and rows containing the following values in the codebook table:  
        | #  | Variabl / Field Name                         | Field Label                               | Field Attributes (Field Type, Validation, Choices, Calculations, etc.) | 
        |    | Instrument: Text Validation (text_validation)|                                           |                                                                        |   
        | 1  | [record_id]                                  | Record ID                                 | text                                                                   |  
        | 2  | [ptname_v2]                                  | Name                                      | text                                                                   |  
        | 3  | [email_v2]                                   | Email                                     | text (email)                                                           |  
        | 3  | Show the field ONLY if:[ptname_v2] != ""     | Email                                     | Field Annotation: @NOMISSING                                           |  
        | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?     | dropdown                                                               | 
        | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?     | 0 Incomplete                                                           | 
        | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?     | 1 Unverified                                                           | 
        | 4  | [text_validation_complete]                   | Section Header: Form Status Complete?     | 2 Complete                                                             |  
        |    | Instrument: Data Types (data_types)          |                                           |                                                                        | 
        | 5  | [date_trial]                                 | Date of Trial must not be in the future   | text (date_dmy, Min: 2006-01-01, Max: today)                           | 
        | 6  | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual           | dropdown                                                               |   
        | 6  | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual           | 5 DDChoice5                                                            |   
        | 6  | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual           | 6 DDChoice6                                                            |   
        | 6  | [multiple_dropdown_manual]                   | Multiple Choice Dropdown Manual           | 7 DDChoice7                                                            |   
        | 7  | [checkbox]                                   | Checkbox                                  | checkbox                                                               |
        | 7  | [checkbox]                                   | Checkbox                                  | 1 checkbox___1 Checkbox1                                               |
        | 7  | [checkbox]                                   | Checkbox                                  | 2 checkbox___2 Checkbox2                                               |
        | 7  | [checkbox]                                   | Checkbox                                  | 3 checkbox___3 Checkbox3                                               |
        | 7  | [checkbox]                                   | Checkbox                                  | 4 checkbox___4 Checkbox4                                               |
        | 8  | [file_upload]                                | File Upload                               | file                                                                   |  
        | 9  | [radio_button_manual]                        | Radio Button Manual                       | radio                                                                  | 
        | 9  | [radio_button_manual]                        | Radio Button Manual                       | 99 Choice99                                                            | 
        | 9  | [radio_button_manual]                        | Radio Button Manual                       | 100 Choice100                                                          | 
        | 9  | [radio_button_manual]                        | Radio Button Manual                       | 101 Choice101                                                          | 
        | 10 | [calculated_field]                           | Calculated Field                          | calc Calculation: 3*2                                                  |  
        | 11 | [descriptive_text_file]                      | Descriptive Text with File                | descriptive                                                            |
        | 12 | [identifier_2]                               | Identifier                                | text, Identifier                                                       |
        | 13 | [required_2]                                 | Required                                  | text, Required                                                         |
        | 14 | [data_types_complete]                        | Section Header: Form Status Complete?     | dropdown                                                               | 
        | 14 | [data_types_complete]                        | Section Header: Form Status Complete?     | 0 Incomplete                                                           | 
        | 14 | [data_types_complete]                        | Section Header: Form Status Complete?     | 1 Unverified                                                           | 
        | 14 | [data_types_complete]                        | Section Header: Form Status Complete?     | 2 Complete                                                             |   

Scenario: D.111.200 Modify and delete fields and verify codebook
    When I click on the link labeled "Designer"
    And I click on the instrument labeled "Text Validation"
    And I click on the Edit image for the field named "Name"
    And I enter "EditName" into the Field Label of the open "Add New Field" dialog box
    Then I click on the button labeled "Save"
    Then I should see "EditName"
    And I click on the Delete Field image for the field named "Email"
    And I click on the button labeled "Delete"

    ##VERIFY_Codebook 
    When I click on the link labeled "Codebook"
    Then I should NOT see "[email_v2]" 
    And I should see a table header and rows containing the following values in the codebook table:
        | #  | Variabl / Field Name                          | Field Label                           | Field Attributes (Field Type, Validation, Choices, Calculations, etc.) | 
        |    | Instrument: Text Validation (text_validation) |                                       |                                                                        |   
        | 1  | [record_id]                                   | Record ID                             | text                                                                   |  
        | 2  | [ptname_v2]                                   | EditName                              | text                                                                   |  
        | 3  | [text_validation_complete]                    | Section Header: Form Status Complete? | dropdown                                                               | 
        | 3  | [text_validation_complete]                    | Section Header: Form Status Complete? | 0 Incomplete                                                           | 
        | 3  | [text_validation_complete]                    | Section Header: Form Status Complete? | 1 Unverified                                                           | 
        | 3  | [text_validation_complete]                    | Section Header: Form Status Complete? | 2 Complete                                                             |  
          
    And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Codebook_111/D.111.200%20-%20REDUNDANT.feature

Feature: D.111.200 - The system shall support the ability to modify and delete fields, which will subsequently alter the codebook.

This feature test is REDUNDANT and can be viewed in D.111.100

Comments:

Comment:

Author: rukayat-yakub Updated on: 8/6/2024 12:20:16 PM

Comment body:

@MintooXavier Please review when you can

Comment:

Author: MintooXavier Updated on: 8/8/2024 9:09:06 AM

Comment body:
  1. There are 5 Gherkin steps which are not correct. Please refer the RSVC feature test or step definition and correct them.
  2. Change the project name to D.111.100 as I mentioned last week (according to new numbering format)
  3. Change the xml file name Project_redcap_val as I mentioned last week.
  4. The script does not match the Word document. Please rewrite it according to the original script, which creates a blank project, adds the fields, and verifies the codebook. Additionally, include a step to verify the codebook before adding fields.
  5. Do not modify the user requirements, especially by deleting steps.

Review completed

Comment:

Author: rukayat-yakub Updated on: 8/16/2024 9:05:27 AM

Comment body:

@MintooXavier - Please review when you can

Comment:

Author: MintooXavier Updated on: 8/16/2024 2:54:44 PM

Comment body:
  1. Modify the scriptname
  2. Rename the xml file name used to create the project
  3. Lots of wrong steps. Please correct it. As mentioned earlier, all the steps are available in Online Designer feature
  4. Steps 28-47 are not valida, as you cannot copy an empty instrument:
    ##ACTION: Create new instrument(Data Types)

@rukayat-yakub : Review complete.

Comment edits:

Created: 8/16/2024 2:54:44 PM Edited on: 8/16/2024 2:54:44 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Modify the scriptname
  2. Rename the xml file name used to create the project
  3. Lots of wrong steps. Please correct it. As mentioned earlier, all the steps are available in Online Designer feature
  4. Steps 28-47 are not valida, as you cannot copy an empty instrument: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/12_codebook.feature#L28

@rukayat-yakub : Review complete.

Created: 8/16/2024 2:54:44 PM Edited on: 8/16/2024 2:28:29 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Modify the scriptname
  2. Rename the xml file name used to create the project

Comment:

Author: rukayat-yakub Updated on: 8/20/2024 9:25:41 AM

Comment body:

@MintooXavier Please review when you can

Comment:

Author: MintooXavier Updated on: 8/20/2024 12:55:22 PM

Comment body:

Please create a folder (as mentioned previously) for each feature inside manual_scripts and put the scripts in it. The naming convention would be Data_Resolution_Workflow_106 where 106 is the feature number.

Comment:

Author: rukayat-yakub Updated on: 8/20/2024 2:22:45 PM

Comment body:

@MintooXavier - Done

Comment:

Author: MintooXavier Updated on: 8/21/2024 12:58:00 PM

Comment body:
  1. As mentioned before, This field is not created and you cannot have 2 fields with the same name:
    | 3 | [record_id] | Record ID | text |
  2. As mentioned before, you have to put what you see. You don’t actually see “the data instrument labeled Text Validation”.
    Then I should see “the data instrument labeled Text Validation”
  3. Please correct the indentations. Please check RSVC repo
  4. Change fieldname to ptname_v2
    And I add a new Text Box field labeled “Name” with variable name “ptname_v2_v2” and click on the “Save” button
  5. As mentioned before, The dropdown field selection was not correct and have been commented out but the below steps indicate that it is needed.
    #And I select the dropdown option labeled “Email” from the dropdown field labeled “—None—”
  6. Same as above:
    #And I select the dropdown option labeled “Date (D-M-Y)” from the dropdown field labeled “—None—”
  7. No Record ID field.
    And I click on the Edit image for the field named “Record ID”
  8. You already have a textbox field named Name. Probably remove the field ptname. not needed.
    And I add a new Text Box field labeled “Name” with variable name “ptname” and click on the “Save” button
    and correct codebook accordingly.
  9. You already have a textbox field named Name. Probably remove the field Text Box. not needed.
    And I add a new Text Box field labeled “Text Box” with variable name “textbox” and click on the “Save” button
  10. check values of min and max.
    And I enter “01-01-2006” into the input field labeled “Minimum:”
  11. Please add the 4th choice.
  12. Add the option you are selecting:
    And I enter “radio_button_manual” into the Variable Name of the open “Add New Field” dialog box
  13. Add the label:
    And I enter “radio_button_manual” into the Variable Name of the open “Add New Field” dialog box
  14. As mentioned previously, upload the files to repo when you are using one. Probably you could use an existing file for this. There is one in cypress/fixtures/import_files called File_upload.docx. Use that.
    When I upload a “docx” format file located at “import_files/D.111.100_Upload File.docx”, by clicking the button near “Select a file then click the ‘Upload File’ button” to browse for the file, and clicking the button labeled “Upload file” to upload the file
  15. As mentioned before, you have to put what you see. You don’t actually see this.
    Then I should see “*must provide value on the next Text Box field labeled Required”
  16. Check the value of choice:
    | 8 | [multiple_dropdown_manual] | Multiple Choice Dropdown Manual | dropdown(5 DDChoice5, 7 DDChoice6, 6 DDChoice7) |
  17. Add 4th option
    | 9 | [checkbox] | Checkbox | checkbox(1 checkbox__1, Checkbox1),(2 checkbox__2, Checkbox2),(3 checkbox__3, Checkbox3)|
  18. check variable name.
    | 15 | [required] | Required | text, Required |
  19. It’s better to clear and enter Name4567 because when you read it, it doesn’t look like you are appending. It may work in ATS script. but when run manually, we wouldn’t append.
    And I enter “4567” into the input field labeled “Name” in the action popup
  20. As mentioned before, you have to put what you see. You don’t actually see this.
    And I should see “Field: Name4567” within the field with variable name “ptname”
  21. I have modified the user spec numbering for codebook. You can add another scenario before the rename and delete fields.
  22. Also add a script called D.111.200 and mark it as REDUNDANT and mention where it is tested. Refer to rsvc repo, it has redundant scripts.

After creating the empty project and verifying codebook, we could have uploaded the data dictionary instead of adding the fields one by one. Since you have done it this way, let it be..

@rukayat-yakub : Review Completed. Please run the test manually and verify before submitting the script, as few steps were missed which is easily identifiable when you run the script manually.

Comment edits:

Created: 8/21/2024 12:58:00 PM Edited on: 8/21/2024 12:58:00 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. As mentioned before, This field is not created and you cannot have 2 fields with the same name: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L51
  2. As mentioned before, you have to put what you see. You don’t actually see “the data instrument labeled Text Validation”. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L27
  3. Please correct the indentations. Please check RSVC repo
  4. Change fieldname to ptname_v2 https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L63
  5. As mentioned before, The dropdown field selection was not correct and have been commented out but the below steps indicate that it is needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L66
  6. Same as above: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L83
  7. No Record ID field. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L72
  8. You already have a textbox field named Name. Probably remove the field ptname. not needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L73 and correct codebook accordingly.
  9. You already have a textbox field named Name. Probably remove the field Text Box. not needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L75
  10. check values of min and max. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L84
  11. Please add the 4th choice. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L117
  12. Add the option you are selecting: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L128
  13. Add the label: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L128
  14. As mentioned previously, upload the files to repo when you are using one. Probably you could use an existing file for this. There is one in cypress/fixtures/import_files called File_upload.docx. Use that. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L159
  15. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L184
  16. Check the value of choice: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L202
  17. Add 4th option https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L203
  18. check variable name. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L209
  19. It’s better to clear and enter Name4567 because when you read it, it doesn’t look like you are appending. It may work in ATS script. but when run manually, we wouldn’t append. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L216
  20. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L222
  21. I have modified the user spec numbering for codebook. You can add another scenario before the rename and delete fields.
  22. Also add a script called D.111.200 and mark it as REDUNDANT and mention where it is tested. Refer to rsvc repo, it has redundant scripts.

After creating the empty project and verifying codebook, we could have uploaded the data dictionary instead of adding the fields one by one. Since you have done it this way, let it be..

@rukayat-yakub : Review Completed. Please run the test manually and verify before submitting the script, as few steps were missed which is easily identifiable when you run the script manually.

Created: 8/21/2024 11:57:00 AM Edited on: 8/21/2024 11:57:00 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. As mentioned before, This field is not created and you cannot have 2 fields with the same name: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L51
  2. As mentioned before, you have to put what you see. You don’t actually see “the data instrument labeled Text Validation”. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L27
  3. Please correct the indentations. Please check RSVC repo
  4. Change fieldname to ptname_v2 https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L63
  5. As mentioned before, The dropdown field selection was not correct and have been commented out but the below steps indicate that it is needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L66
  6. Same as above: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L83
  7. No Record ID field. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L72
  8. You already have a textbox field named Name. Probably remove the field ptname. not needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L73 and correct codebook accordingly.
  9. You already have a textbox field named Name. Probably remove the field Text Box. not needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L75
  10. check values of min and max. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L84
  11. Please add the 4th choice. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L117
  12. Add the option you are selecting: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L128
  13. Add the label: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L128
  14. As mentioned previously, upload the files to repo when you are using one. Probably you could use an existing file for this. There is one in cypress/fixtures/import_files called File_upload.docx. Use that. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L159
  15. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L184
  16. Check the value of choice: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L202
  17. Add 4th option https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L203
  18. check variable name. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L209
  19. It’s better to clear and enter Name4567 because when you read it, it doesn’t look like you are appending. It may work in ATS script. but when run manually, we wouldn’t append. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L216
  20. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L222
  21. I have modified the user spec numbering for codebook. You can add another scenario before the rename and delete fields.
  22. Also add a script called D.111.200 and mark it as REDUNDANT and mention where it is tested. Refer to rsvc repo, it has redundant scripts.

@rukayat-yakub : Review Completed. Please run the test manually and verify before submitting the script, as few steps were missed which is easily identifiable when you run the script manually.

Created: 8/21/2024 11:37:28 AM Edited on: 8/21/2024 11:37:28 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. As mentioned before, This field is not created and you cannot have 2 fields with the same name: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L51
  2. As mentioned before, you have to put what you see. You don’t actually see “the data instrument labeled Text Validation”. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L27
  3. Please correct the indentations. Please check RSVC repo
  4. Change fieldname to ptname_v2 https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L63
  5. As mentioned before, The dropdown field selection was not correct and have been commented out but the below steps indicate that it is needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L66
  6. Same as above: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L83
  7. No Record ID field. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L72
  8. You already have a textbox field named Name. Probably remove the field ptname. not needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L73 and correct codebook accordingly.
  9. You already have a textbox field named Name. Probably remove the field Text Box. not needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L75
  10. check values of min and max. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L84
  11. Please add the 4th choice. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L117
  12. Add the option you are selecting: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L128
  13. Add the label: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L128
  14. As mentioned previously, upload the files to repo when you are using one. Probably you could use an existing file for this. There is one in cypress/fixtures/import_files called File_upload.docx. Use that. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L159
  15. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L184
  16. Check the value of choice: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L202
  17. Add 4th option https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L203
  18. check variable name. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L209
  19. It’s better to clear and enter Name4567 because when you read it, it doesn’t look like you are appending. It may work in ATS script. but when run manually, we wouldn’t append. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L216
  20. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L222

@rukayat-yakub : Review Completed. Please run the test manually and verify before submitting the script, as few steps were missed which is easily identifiable when you run the script manually.

Created: 8/21/2024 11:35:35 AM Edited on: 8/21/2024 11:35:35 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. As mentioned before, This field is not created and you cannot have 2 fields with the same name: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L51
  2. As mentioned before, you have to put what you see. You don’t actually see “the data instrument labeled Text Validation”. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L27
  3. Please correct the indentations. Please check RSVC repo
  4. Change fieldname to ptname_v2 https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L63
  5. As mentioned before, The dropdown field selection was not correct and have been commented out but the below steps indicate that it is needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L66
  6. Same as above: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L83
  7. No Record ID field. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L72
  8. You already have a textbox field named Name. Probably remove the field ptname. not needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L73 and correct codebook accordingly.
  9. You already have a textbox field named Name. Probably remove the field Text Box. not needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L75
  10. check values of min and max. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L84
  11. Please add the 4th choice. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L117
  12. Add the option you are selecting: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L128
  13. Add the label: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L128
  14. As mentioned previously, upload the files to repo when you are using one. Probably you could use an existing file for this. There is one in cypress/fixtures/import_files called File_upload.docx. Use that. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L159
  15. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L184
  16. Check the value of choice: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L202
  17. Add 4th option https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L203
  18. check variable name. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L209
  19. It’s better to clear and enter Name4567 because when you read it, it doesn’t look like you are appending. It may work in ATS script. but when run manually, we wouldn’t append. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L216
  20. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L222

@rukayat-yakub : Review Completed. Please run the test manually and verify before submitting the script, as few lines were missed which is easily identifiable when you run the script manually.

Created: 8/21/2024 11:35:35 AM Edited on: 8/21/2024 11:33:29 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. As mentioned before, This field is not created and you cannot have 2 fields with the same name: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L51
  2. As mentioned before, you have to put what you see. You don’t actually see “the data instrument labeled Text Validation”. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L27
  3. Please correct the indentations. Please check RSVC repo
  4. Change fieldname to ptname_v2 https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L63
  5. As mentioned before, The dropdown field selection was not correct and have been commented out but the below steps indicate that it is needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L66
  6. Same as above: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L83
  7. No Record ID field. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L72
  8. You already have a textbox field named Name. Probably remove the field ptname. not needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L73 and correct codebook accordingly.
  9. You already have a textbox field named Name. Probably remove the field Text Box. not needed. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L75
  10. check values of min and max. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L84
  11. Please add the 4th choice. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L117
  12. Add the option you are selecting: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L128
  13. Add the label: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L128
  14. As mentioned previously, upload the files to repo when you are using one. Probably you could use an existing file for this. There is one in cypress/fixtures/import_files called File_upload.docx. Use that. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L159
  15. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L184
  16. Check the value of choice: https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L202
  17. Add 4th option https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L203
  18. check variable name. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L209
  19. It’s better to clear and enter Name4567 because when you read it, it doesn’t look like you are appending. It may work in ATS script. but when run manually, we wouldn’t append. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L216
  20. As mentioned before, you have to put what you see. You don’t actually see this. https://github.com/CCTC-team/redcap_cypress/blob/811324be6342ec25a5ca6826cc92cb3a9157de7a/manual_scripts/Codebook_111/D.111.100_codebook.feature#L222

Comment:

Author: rukayat-yakub Updated on: 8/27/2024 1:46:46 PM

Comment body:

@MintooXavier Please review when you can

Comment:

Author: MintooXavier Updated on: 9/17/2024 1:24:18 PM

Comment body:
  1. keep it small and simple. Adding fields and verifying Codebook.
    Scenario: Uploading Project D.111.100 consisting Text Validation(Name, Email) and Data Types(Date of Birth, Checkbox,multiple choice dropdown list (single answer), Radio Button Manual, File Upload (file_upload),Calculated Field,Descriptive Text with File, Identifier, Required) as instruments through the Online Designer to view Codebook.
  2. Change to - Modify and delete fields and verify codebook.
    Scenario: D.111.200 Modify and Delete
  3. This is a link.
    Given I click on the button labeled “Online Designer”
  4. Only one button. delete first.
    And I clear field and enter “Text Validation” into the field with the placeholder text of “Form 1”
  5. Extra space in field name, please remove it.
    And I clear field and enter “Text Validation” into the field with the placeholder text of “Form 1”
  6. The extra space is needed here, check comment above this.
    When I click on the button labeled exactly “Create”
  7. Only one button here, no need last..
    And I click on the last button labeled “Add instrument here”
  8. Only one button
    And I click on the last button labeled “Create”
  9. Please delete comment. Doesn’t make sense here.
  10. Delete extra space.
    Then I should see “Record ID” within the field with variable name “record_id”
  11. Lines 61 and 62 are not required.
    And I click on the button labeled “Add Field”
    .
  12. Change to ‘I click on the last button labeled’, else there are lots of buttons and becomes ambiguous. Similarly change in the other steps below.
    And I click on the button labeled “Add Field”
  13. Use this step definition for label. I enter {string} into the Field Label of the open “{addEditField}” dialog box. instead of the below as you can’t press Save here.
    And I add a new Text Box field labeled “Email” with variable name “email_v2” and click on the “Save” button
  14. Similarly use this for variable name. https://aldefouw.github.io/redcap_cypress/#i-enter-string-into-the-variable-name-of-the-open-addeditfield-dialog-box
  15. No need ‘:’.
    And I enter “must not be in the future” into the input field labeled “Field Note (optional):”
  16. Not needed. It’s repeating below step.
    Then I should see a field named “Multiple Choice Dropdown Manual”
  17. Repeating.
    Then I should see the field labeled “Checkbox”
  18. Repeating step below. Delete this.
    Then I should see a field named “Radio Button Manual”
  19. Please check name:
    And I should see the link labeled “D.111.100_Upload File.docx”
  20. Please take out VERIFY after adding the fields. It’s in a lot of places. We are not verifying that in the script. We are verifying codebook. e.g. 
  21. Check Capitals in Form Status. Similarly for 2nd CRF.
    | 4 | [text_validation_complete] | Section Header: form status (Complete?) | dropdown(0 Incomplete, 1 Unverified, 2 Complete) |
  22. variable name is better than Email as Email Logging link is visible.
  23. This cannot be used here. Put the Codebbok table view for the first CRF only.
    And I should see “Name4567” within the field with variable name “ptname”

@rukayat-yakub : Review completed.

Comment edits:

Created: 9/17/2024 1:24:18 PM Edited on: 9/17/2024 1:24:18 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. keep it small and simple. Adding fields and verifying Codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L6
  2. Change to - Modify and delete fields and verify codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L210
  3. This is a link. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L22
  4. Only one button. delete first. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  5. Extra space in field name, please remove it. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  6. The extra space is needed here, check comment above this. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L31
  7. Only one button here, no need last.. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L32
  8. Only one button https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L35
  9. Please delete comment. Doesn’t make sense here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L53
  10. Delete extra space. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L60
  11. Lines 61 and 62 are not required. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L61.
  12. Change to ‘I click on the last button labeled’, else there are lots of buttons and becomes ambiguous. Similarly change in the other steps below. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L64
  13. Use this step definition for label. I enter {string} into the Field Label of the open “{addEditField}” dialog box. instead of the below as you can’t press Save here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L66
  14. Similarly use this for variable name. https://aldefouw.github.io/redcap_cypress/#i-enter-string-into-the-variable-name-of-the-open-addeditfield-dialog-box
  15. No need ‘:’. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L82
  16. Not needed. It’s repeating below step. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L93
  17. Repeating. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L110
  18. Repeating step below. Delete this. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L136
  19. Please check name: https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L167
  20. Please take out VERIFY after adding the fields. It’s in a lot of places. We are not verifying that in the script. We are verifying codebook. e.g. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L148
  21. Check Capitals in Form Status. Similarly for 2nd CRF. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L197
  22. variable name is better than Email as Email Logging link is visible. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L220
  23. This cannot be used here. Put the Codebbok table view for the first CRF only. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L221

@rukayat-yakub : Review completed.

Created: 9/17/2024 1:23:03 PM Edited on: 9/17/2024 1:23:03 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. keep it small and simple. Adding fields and verifying Codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L6
  2. Change to - Modify and delete fields and verify codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L210
  3. This is a link. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L22
  4. Only one button. delete first. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  5. Extra space in field name, please remove it. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  6. The extra space is needed here, check comment above this. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L31
  7. Only one button here, no need last.. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L32
  8. Only one button https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L35
  9. Please delete comment. Doesn’t make sense here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L53
  10. Delete extra space. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L60
  11. Lines 61 and 62 are not required. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L61.
  12. Change to ‘I click on the last button labeled’, else there are lots of buttons and becomes ambiguous. Similarly change in the other steps below. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L64
  13. Use this step definition for label. I enter {string} into the Field Label of the open “{addEditField}” dialog box. instead of the below as you can’t press Save here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L66
  14. Similarly use this for variable name. https://aldefouw.github.io/redcap_cypress/#i-enter-string-into-the-variable-name-of-the-open-addeditfield-dialog-box
  15. No need ‘:’. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L82
  16. Not needed. It’s repeating below step. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L93
  17. Repeating. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L110
  18. Repeating step below. Delete this. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L136
  19. Please check name: https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L167
  20. Please take out VERIFY after adding the fields. It’s in a lot of places. We are not verifying that in the script. We are verifying codebook. e.g. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L148
  21. Check Capitals in Form Status. Similarly for 2nd CRF. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L197
  22. variable name is better than Email as Email Logging link is visible. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L220
  23. This cannot be used here. Put the Codebbok table view for the first CRF only. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L221

Created: 9/17/2024 9:40:18 AM Edited on: 9/17/2024 9:40:18 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. keep it small and simple. Adding fields and verifying Codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L6
  2. Change to - Modify and delete fields and verify codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L210
  3. This is a link. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L22
  4. Only one button. delete first. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  5. Extra space in field name, please remove it. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  6. The extra space is needed here, check comment above this. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L31
  7. Only one button here, no need last.. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L32
  8. Only one button https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L35
  9. Please delete comment. Doesn’t make sense here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L53
  10. Delete extra space. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L60
  11. Lines 61 and 62 are not required. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L61.
  12. Change to ‘I click on the last button labeled’, else there are lots of buttons and becomes ambiguous. Similarly change in the other steps below. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L64
  13. Use this step definition for label. I enter {string} into the Field Label of the open “{addEditField}” dialog box. instead of the below as you can’t press Save here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L66
  14. Similarly use this for variable name. https://aldefouw.github.io/redcap_cypress/#i-enter-string-into-the-variable-name-of-the-open-addeditfield-dialog-box
  15. No need ‘:’. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L82
  16. Not needed. It’s repeating below step. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L93

Created: 9/17/2024 9:13:47 AM Edited on: 9/17/2024 9:13:47 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. keep it small and simple. Adding fields and verifying Codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L6
  2. Change to - Modify and delete fields and verify codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L210
  3. This is a link. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L22
  4. Only one button. delete first. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  5. Extra space in field name, please remove it. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  6. The extra space is needed here, check comment above this. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L31
  7. Only one button here, no need last.. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L32
  8. Only one button https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L35
  9. Please delete comment. Doesn’t make sense here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L53
  10. Delete extra space. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L60
  11. Lines 61 and 62 are not required. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L61.
  12. Change to ‘I click on the last button labeled’, else there are lots of buttons and becomes ambiguous. Similarly change in the other steps below. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L64
  13. Use this step definition for label. I enter {string} into the Field Label of the open “{addEditField}” dialog box. instead of the below as you can’t press Save here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L66
  14. Similarly use this for variable name. https://aldefouw.github.io/redcap_cypress/#i-enter-string-into-the-variable-name-of-the-open-addeditfield-dialog-box
  15. No need ‘:’. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L82

Created: 9/6/2024 2:44:29 PM Edited on: 9/6/2024 2:44:29 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. keep it small and simple. Adding fields and verifying Codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L6
  2. Modify and delete fields and verify codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L210
  3. This is a link. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L22
  4. Only one button. delete first. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  5. Extra space in field name, please remove it. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  6. The extra space is needed here, check comment above this. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L31
  7. Please delete comment. Doesn’t make sense here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L53
  8. Delete extra space. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L60
  9. Change to ‘I click on the last button labeled’, else there are lots of buttons and becomes ambiguous. Similarly change in the other steps below. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L64
  10. Use this step definition for label. I enter {string} into the Field Label of the open “{addEditField}” dialog box. instead of the below as you can’t press Save here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L66
  11. Similarly use this for variable name. https://aldefouw.github.io/redcap_cypress/#i-enter-string-into-the-variable-name-of-the-open-addeditfield-dialog-box
  12. No need ‘:’. https://github.com/CCTC-. team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L83

Created: 9/6/2024 2:35:39 PM Edited on: 9/6/2024 2:35:39 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. keep it small and simple. Adding fields and verifying Codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L6
  2. Modify and delete fields and verify codebook. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L210
  3. This is a link. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L22
  4. Only one button. delete first. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  5. Extra space in field name, please remove it. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  6. The extra space is needed here, check comment above this. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L31
  7. Please delete comment. Doesn’t make sense here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L53
  8. Delete extra space. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L60
  9. Change to ‘I click on the last button labeled’, else there are lots of buttons and becomes ambiguous. Similarly change in the other steps below. https://github.com/CCTC-team/redcap_cypress/blob/a0277d7eb385b89d9cb5d83402a952dc1e6378d7/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L64
  10. Use this step definition for label. I enter {string} into the Field Label of the open “{addEditField}” dialog box. instead of the below as you can’t press Save here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L66
  11. Similarly use this for variable name. https://aldefouw.github.io/redcap_cypress/#i-enter-string-into-the-variable-name-of-the-open-addeditfield-dialog-box

Created: 9/6/2024 2:35:39 PM Edited on: 9/3/2024 11:58:19 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. This is a link. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L22
  2. Extra space in field name, please remove it. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L25
  3. The extra space is needed here, check comment above this. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L31
  4. Please delete comment. Doesn’t make sense here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L53
  5. Delete extra space. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L60
  6. Change to ‘I click on the last button labeled’, else there are lots of buttons and becomes ambiguous. Similarly change in the other steps below.
  7. Use this step definition for label. I enter {string} into the Field Label of the open “{addEditField}” dialog box. instead of the below as you can’t press Save here. https://github.com/CCTC-team/redcap_cypress/blob/e8b4ffedadda77af9e9599deddcda99cd35280da/manual_scripts/Codebook_111/D.111.100%20-%20Codebook.feature#L66
  8. Similarly use this for variable name. https://aldefouw.github.io/redcap_cypress/#i-enter-string-into-the-variable-name-of-the-open-addeditfield-dialog-box

Comment:

Author: rukayat-yakub Updated on: 9/25/2024 10:18:18 PM

Comment body:

@MintooXavier : Review correction completed

Comment:

Author: MintooXavier Updated on: 9/30/2024 12:24:38 PM

Comment body:
  1. I have changed the indentation and colum alignment.
  2. step 2 not done.
  3. step 4 not done.
  4. step 6 not done correctly
  5. No bracket for Complete. Removed opening bracket after dropdown. As mentioned - put what you see.
    | 2 | [form_1_complete] | Section Header: Form Status (Complete?)| dropdown(0 Incomplete, 1 Unverified, 2 Complete |
  6. Step 12 dont done everywhere. I changed in 8 places.
  7. Step 19 not done correctly.
  8. Deleted extra space.
    And I clear field and enter “Name4567” into the field with the placeholder text of “Name”
  9. Modified the codebook view.
  10. Step 22 not done

I have done all the changes.

Comment:

Author: rukayat-yakub Updated on: 9/30/2024 1:14:06 PM

Comment body:

@MintooXavier : Thank you. saw the changes

Comment:

Author: MintooXavier Updated on: 11/1/2024 11:25:38 AM

Comment body:

Automated the script


Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 9:44:45 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 9:44:45 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 9:44:45 AM Assignee: rukayat-yakub

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:47:04 PM Previous title: 12. Codebook Current title: 111. Codebook

ISSUE COMMENT | User: rukayat-yakub Created on: 8/6/2024 12:20:16 PM Issue comment body:

@MintooXavier Please review when you can

MENTIONED | User: MintooXavier Created on: 8/6/2024 12:20:17 PM

SUBSCRIBED | User: MintooXavier Created on: 8/6/2024 12:20:17 PM

ISSUE COMMENT | User: MintooXavier Created on: 8/8/2024 9:09:06 AM Issue comment body:
  1. There are 5 Gherkin steps which are not correct. Please refer the RSVC feature test or step definition and correct them.
  2. Change the project name to D.111.100 as I mentioned last week (according to new numbering format)
  3. Change the xml file name Project_redcap_val as I mentioned last week.
  4. The script does not match the Word document. Please rewrite it according to the original script, which creates a blank project, adds the fields, and verifies the codebook. Additionally, include a step to verify the codebook before adding fields.
  5. Do not modify the user requirements, especially by deleting steps.

Review completed

ISSUE COMMENT | User: rukayat-yakub Created on: 8/16/2024 9:05:27 AM Issue comment body:

@MintooXavier - Please review when you can

MENTIONED | User: MintooXavier Created on: 8/16/2024 9:05:28 AM

SUBSCRIBED | User: MintooXavier Created on: 8/16/2024 9:05:28 AM

LABELLED | User: rukayat-yakub Created on: 8/16/2024 9:08:13 AM Label name: Gherkin Label description: Uses a Gherkin syntax

ISSUE COMMENT | User: MintooXavier Created on: 8/16/2024 2:28:29 PM Issue comment body:
  1. Modify the scriptname
  2. Rename the xml file name used to create the project
  3. Lots of wrong steps. Please correct it. As mentioned earlier, all the steps are available in Online Designer feature
  4. Steps 28-47 are not valida, as you cannot copy an empty instrument:
    ##ACTION: Create new instrument(Data Types)

@rukayat-yakub : Review complete.

MENTIONED | User: rukayat-yakub Created on: 8/16/2024 2:54:45 PM

SUBSCRIBED | User: rukayat-yakub Created on: 8/16/2024 2:54:45 PM

ISSUE COMMENT | User: rukayat-yakub Created on: 8/20/2024 9:25:41 AM Issue comment body:

@MintooXavier Please review when you can

MENTIONED | User: MintooXavier Created on: 8/20/2024 9:25:42 AM

SUBSCRIBED | User: MintooXavier Created on: 8/20/2024 9:25:42 AM

ISSUE COMMENT | User: MintooXavier Created on: 8/20/2024 12:55:22 PM Issue comment body:

Please create a folder (as mentioned previously) for each feature inside manual_scripts and put the scripts in it. The naming convention would be Data_Resolution_Workflow_106 where 106 is the feature number.

ISSUE COMMENT | User: rukayat-yakub Created on: 8/20/2024 2:22:45 PM Issue comment body:

@MintooXavier - Done

MENTIONED | User: MintooXavier Created on: 8/20/2024 2:22:46 PM

SUBSCRIBED | User: MintooXavier Created on: 8/20/2024 2:22:46 PM

ISSUE COMMENT | User: MintooXavier Created on: 8/21/2024 11:33:29 AM Issue comment body:
  1. As mentioned before, This field is not created and you cannot have 2 fields with the same name:
    | 3 | [record_id] | Record ID | text |
  2. As mentioned before, you have to put what you see. You don’t actually see “the data instrument labeled Text Validation”.
    Then I should see “the data instrument labeled Text Validation”
  3. Please correct the indentations. Please check RSVC repo
  4. Change fieldname to ptname_v2
    And I add a new Text Box field labeled “Name” with variable name “ptname_v2_v2” and click on the “Save” button
  5. As mentioned before, The dropdown field selection was not correct and have been commented out but the below steps indicate that it is needed.
    #And I select the dropdown option labeled “Email” from the dropdown field labeled “—None—”
  6. Same as above:
    #And I select the dropdown option labeled “Date (D-M-Y)” from the dropdown field labeled “—None—”
  7. No Record ID field.
    And I click on the Edit image for the field named “Record ID”
  8. You already have a textbox field named Name. Probably remove the field ptname. not needed.
    And I add a new Text Box field labeled “Name” with variable name “ptname” and click on the “Save” button
    and correct codebook accordingly.
  9. You already have a textbox field named Name. Probably remove the field Text Box. not needed.
    And I add a new Text Box field labeled “Text Box” with variable name “textbox” and click on the “Save” button
  10. check values of min and max.
    And I enter “01-01-2006” into the input field labeled “Minimum:”
  11. Please add the 4th choice.
  12. Add the option you are selecting:
    And I enter “radio_button_manual” into the Variable Name of the open “Add New Field” dialog box
  13. Add the label:
    And I enter “radio_button_manual” into the Variable Name of the open “Add New Field” dialog box
  14. As mentioned previously, upload the files to repo when you are using one. Probably you could use an existing file for this. There is one in cypress/fixtures/import_files called File_upload.docx. Use that.
    When I upload a “docx” format file located at “import_files/D.111.100_Upload File.docx”, by clicking the button near “Select a file then click the ‘Upload File’ button” to browse for the file, and clicking the button labeled “Upload file” to upload the file
  15. As mentioned before, you have to put what you see. You don’t actually see this.
    Then I should see “*must provide value on the next Text Box field labeled Required”
  16. Check the value of choice:
    | 8 | [multiple_dropdown_manual] | Multiple Choice Dropdown Manual | dropdown(5 DDChoice5, 7 DDChoice6, 6 DDChoice7) |
  17. Add 4th option
    | 9 | [checkbox] | Checkbox | checkbox(1 checkbox__1, Checkbox1),(2 checkbox__2, Checkbox2),(3 checkbox__3, Checkbox3)|
  18. check variable name.
    | 15 | [required] | Required | text, Required |
  19. It’s better to clear and enter Name4567 because when you read it, it doesn’t look like you are appending. It may work in ATS script. but when run manually, we wouldn’t append.
    And I enter “4567” into the input field labeled “Name” in the action popup
  20. As mentioned before, you have to put what you see. You don’t actually see this.
    And I should see “Field: Name4567” within the field with variable name “ptname”
  21. I have modified the user spec numbering for codebook. You can add another scenario before the rename and delete fields.
  22. Also add a script called D.111.200 and mark it as REDUNDANT and mention where it is tested. Refer to rsvc repo, it has redundant scripts.

After creating the empty project and verifying codebook, we could have uploaded the data dictionary instead of adding the fields one by one. Since you have done it this way, let it be..

@rukayat-yakub : Review Completed. Please run the test manually and verify before submitting the script, as few steps were missed which is easily identifiable when you run the script manually.

MENTIONED | User: rukayat-yakub Created on: 8/21/2024 11:35:36 AM

SUBSCRIBED | User: rukayat-yakub Created on: 8/21/2024 11:35:36 AM

ISSUE COMMENT | User: rukayat-yakub Created on: 8/27/2024 1:46:46 PM Issue comment body:

@MintooXavier Please review when you can

MENTIONED | User: MintooXavier Created on: 8/27/2024 1:46:48 PM

SUBSCRIBED | User: MintooXavier Created on: 8/27/2024 1:46:48 PM

ISSUE COMMENT | User: MintooXavier Created on: 9/3/2024 11:58:19 AM Issue comment body:
  1. keep it small and simple. Adding fields and verifying Codebook.
    Scenario: Uploading Project D.111.100 consisting Text Validation(Name, Email) and Data Types(Date of Birth, Checkbox,multiple choice dropdown list (single answer), Radio Button Manual, File Upload (file_upload),Calculated Field,Descriptive Text with File, Identifier, Required) as instruments through the Online Designer to view Codebook.
  2. Change to - Modify and delete fields and verify codebook.
    Scenario: D.111.200 Modify and Delete
  3. This is a link.
    Given I click on the button labeled “Online Designer”
  4. Only one button. delete first.
    And I clear field and enter “Text Validation” into the field with the placeholder text of “Form 1”
  5. Extra space in field name, please remove it.
    And I clear field and enter “Text Validation” into the field with the placeholder text of “Form 1”
  6. The extra space is needed here, check comment above this.
    When I click on the button labeled exactly “Create”
  7. Only one button here, no need last..
    And I click on the last button labeled “Add instrument here”
  8. Only one button
    And I click on the last button labeled “Create”
  9. Please delete comment. Doesn’t make sense here.
  10. Delete extra space.
    Then I should see “Record ID” within the field with variable name “record_id”
  11. Lines 61 and 62 are not required.
    And I click on the button labeled “Add Field”
    .
  12. Change to ‘I click on the last button labeled’, else there are lots of buttons and becomes ambiguous. Similarly change in the other steps below.
    And I click on the button labeled “Add Field”
  13. Use this step definition for label. I enter {string} into the Field Label of the open “{addEditField}” dialog box. instead of the below as you can’t press Save here.
    And I add a new Text Box field labeled “Email” with variable name “email_v2” and click on the “Save” button
  14. Similarly use this for variable name. https://aldefouw.github.io/redcap_cypress/#i-enter-string-into-the-variable-name-of-the-open-addeditfield-dialog-box
  15. No need ‘:’.
    And I enter “must not be in the future” into the input field labeled “Field Note (optional):”
  16. Not needed. It’s repeating below step.
    Then I should see a field named “Multiple Choice Dropdown Manual”
  17. Repeating.
    Then I should see the field labeled “Checkbox”
  18. Repeating step below. Delete this.
    Then I should see a field named “Radio Button Manual”
  19. Please check name:
    And I should see the link labeled “D.111.100_Upload File.docx”
  20. Please take out VERIFY after adding the fields. It’s in a lot of places. We are not verifying that in the script. We are verifying codebook. e.g. 
  21. Check Capitals in Form Status. Similarly for 2nd CRF.
    | 4 | [text_validation_complete] | Section Header: form status (Complete?) | dropdown(0 Incomplete, 1 Unverified, 2 Complete) |
  22. variable name is better than Email as Email Logging link is visible.
  23. This cannot be used here. Put the Codebbok table view for the first CRF only.
    And I should see “Name4567” within the field with variable name “ptname”

@rukayat-yakub : Review completed.

MENTIONED | User: rukayat-yakub Created on: 9/17/2024 1:24:38 PM

SUBSCRIBED | User: rukayat-yakub Created on: 9/17/2024 1:24:38 PM

ISSUE COMMENT | User: rukayat-yakub Created on: 9/25/2024 10:18:18 PM Issue comment body:

@MintooXavier : Review correction completed

MENTIONED | User: MintooXavier Created on: 9/25/2024 10:18:19 PM

SUBSCRIBED | User: MintooXavier Created on: 9/25/2024 10:18:19 PM

ISSUE COMMENT | User: MintooXavier Created on: 9/30/2024 12:24:38 PM Issue comment body:
  1. I have changed the indentation and colum alignment.
  2. step 2 not done.
  3. step 4 not done.
  4. step 6 not done correctly
  5. No bracket for Complete. Removed opening bracket after dropdown. As mentioned - put what you see.
    | 2 | [form_1_complete] | Section Header: Form Status (Complete?)| dropdown(0 Incomplete, 1 Unverified, 2 Complete |
  6. Step 12 dont done everywhere. I changed in 8 places.
  7. Step 19 not done correctly.
  8. Deleted extra space.
    And I clear field and enter “Name4567” into the field with the placeholder text of “Name”
  9. Modified the codebook view.
  10. Step 22 not done

I have done all the changes.

ISSUE COMMENT | User: rukayat-yakub Created on: 9/30/2024 1:14:06 PM Issue comment body:

@MintooXavier : Thank you. saw the changes

MENTIONED | User: MintooXavier Created on: 9/30/2024 1:14:07 PM

SUBSCRIBED | User: MintooXavier Created on: 9/30/2024 1:14:07 PM

ASSIGNED | User: MintooXavier Created on: 11/1/2024 11:25:14 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 11/1/2024 11:25:38 AM Issue comment body:

Automated the script

UNLABELLED | User: MintooXavier Created on: 11/4/2024 12:39:16 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/4/2024 12:39:16 PM Label name: Automated Label description:


————— feature ends —————



Feature: 110. Special Functions

Id: I_kwDOIaOBn86P2zd2 Uid: redcap_cypress-70
Author: MintooXavier Created: 7/17/2024 12:34:19 PM
Assignees: MintooXavier || TanDBPRO Resource path: /CCTC-team/redcap_cypress/issues/70
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:59:48 PM
Locked: false Participants: MintooXavier || TanDBPRO

Project item body:

Brief description:
List of functions that can be used in Branching Logic, Calculations, Report filtering, Data Quality Module, Automated Survey Invitations, etc.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/110_special_functions.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Special%20Functions_110/D.110.100%20-%20Special%20Functions.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/110_special_functions.spec

D.110.100 - The system shall support the ability to use Special Functions in data entry forms. The following subset of Special Functions is selected and tested:
    D.110.100.1 - datediff
    D.110.100.2 - round
    D.110.100.3 - if
    D.110.100.4 - mean
    D.110.100.5 - length

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Special%20Functions_110/D.110.100%20-%20Special%20Functions.feature

Feature: D.110.100 - The system shall support the ability to use Special Functions in data entry forms. The following subset of Special Functions is selected and tested: D.110.100.1 - datediff D.110.100.2 - round
D.110.100.3 - if D.110.100.4 - mean D.110.100.5 - length

As a REDCap end user I want to see that Special Functions feature is functioning as expected

Scenario: D.110.100.1 - datediff Given I login to REDCap with the user “Test_User1” And I create a new project named “D.110.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val_Special_Functions.xml”, and clicking the “Create Project” button And I click on the link labeled “Designer” And I click on the instrument labeled “Data Types” And I should see a field named “Date difference in days” And I click on the Edit icon for the variable “calc_date_days” And I enter the equation “datediff([date_1], [date_2], ‘d’)” into Calculation Equation of the open “Add New Field” dialog box # And I enter “datediff([date_1], [date_2], ‘d’)” into the input field labeled “Calculation Equation” in the dialog box # And I click on the button labeled “Update & Close Editor” And I click on the button labeled “Save”

#VERIFY
When I click on the link labeled "Add / Edit Records"
Then I click on the button labeled "Add new record for the arm selected above"
And I should see "Record Home Page"
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "" in the data entry form field "Date difference in days" 
And I enter "01-07-2024" into the data entry form field labeled "Date1" 
And I enter "15-07-2024" into the data entry form field labeled "Date 2"
Then I should see "14" in the data entry form field "Date difference in days" 
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
And I should see "Record Home Page"

Scenario: D.110.100.2 - round When I click on the link labeled “Designer”
And I click on the instrument labeled “Data Types” And I should see a field named “BMI Calculated” And I click on the Edit icon for the variable “bmi_calc” And I enter the equation “round(([weight]*10000)/(([height])^(2)), 1)” into Calculation Equation of the open “Add New Field” dialog box And I click on the button labeled “Save”

#VERIFY
When I click on the link labeled "Record Status Dashboard"
And I should see "Record Status Dashboard (all records)"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "" in the data entry form field "BMI Calculated" 
And I enter "55.6" into the data entry form field labeled "Weight KG" 
And I enter "180" into the data entry form field labeled "Height CM"
Then I should see "17.2" in the data entry form field "BMI Calculated" 
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
And I should see "Record Home Page"

Scenario: D.110.100.3 - if When I click on the link labeled “Designer”
And I click on the instrument labeled “Data Types” And I should see a field named “BMI suitable for study” And I click on the Edit icon for the variable “bmi_suitable” And I enter the equation “if([bmi_calc] > 15, 1, 0)” into Calculation Equation of the open “Add New Field” dialog box And I click on the button labeled “Save”

#VERIFY
When I click on the link labeled "Record Status Dashboard"
And I click on button labeled "Add new record for this arm"
Then I should see "Record Home Page"
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "0" in the data entry form field "BMI suitable for study 1 = Suitable 0 = Not suitable" 
When I enter "55.6" into the data entry form field labeled "Weight KG"
And I enter "180" into the data entry form field labeled "Height CM"
Then I should see "17.2" in the data entry form field "BMI Calculated" 
And I should see "1" in the data entry form field "BMI suitable for study 1 = Suitable 0 = Not suitable" 
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record Home Page"

Scenario: D.110.100.4 - mean When I click on the link labeled “Designer”
And I click on the instrument labeled “Data Types” Then I should see a field named “Mean sum of values” And I click on the Edit icon for the variable “mean_value” And I enter the equation “mean([value1],[value2],[value3])” into Calculation Equation of the open “Add New Field” dialog box And I click on the button labeled “Save”

#VERIFY
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "" in the data entry form field "Mean sum of values"
When I enter "7" into the data entry form field labeled "Value 1"
And I enter "9" into the data entry form field labeled "Value 2"
And I enter "11" into the data entry form field labeled "Value 3"
Then I should see "9" in the data entry form field "Mean sum of values"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record Home Page"

Scenario: D.110.100.5 - length When I click on the link labeled “Designer”
And I click on the instrument labeled “Data Types” And I should see a field named “Length of text” And I click on the Edit icon for the variable “length_text” And I enter the equation “length ([notesbox])” into Calculation Equation of the open “Add New Field” dialog box And I click on the button labeled “Save”

#VERIFY
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "0" in the data entry form field "Length of text" 
And I enter "Hello World" into the data entry form field labeled "Notes Box" 
Then I should see "11" in the data entry form field "Length of text" 
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
And I should see "Record Home Page"
And I logout

Comments:

Comment:

Author: TanDBPRO Updated on: 8/2/2024 10:48:37 AM

Comment body:

@MintooXavier - Please review script when you have time.

Comment:

Author: MintooXavier Updated on: 8/2/2024 2:40:24 PM

Comment body:
  1. And I click on the link labeled “Project_redcap_val_10.1”

@TanDBPRO : Pre-review completed.

Comment:

Author: TanDBPRO Updated on: 9/1/2024 11:11:21 PM

Comment body:

@MintooXavier - Please review when you can. I made the changes you have advised above.

Comment:

Author: MintooXavier Updated on: 10/11/2024 1:22:11 PM

Comment body:
  1. Step 7 was not done for all special functions.
  2. I have taken out the comments and added Scenarios with comments and VERIFY instead. I think it looks better.

I have modified the script and pushed to GitHub. Please pull your code before pushing again.

Script Pre-reviewed and Test Passes

Comment:

Author: MintooXavier Updated on: 11/1/2024 11:22:41 AM

Comment body:

Automated this script


Timeline events:

LABELLED | User: MintooXavier Created on: 7/17/2024 12:34:19 PM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 7/17/2024 12:34:19 PM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 7/17/2024 12:34:20 PM Assignee: TanDBPRO

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:46:06 PM Previous title: 10. Special Functions Current title: 110. Special Functions

LABELLED | User: TanDBPRO Created on: 8/2/2024 10:48:04 AM Label name: Gherkin Label description: Uses a Gherkin syntax

ISSUE COMMENT | User: TanDBPRO Created on: 8/2/2024 10:48:37 AM Issue comment body:

@MintooXavier - Please review script when you have time.

MENTIONED | User: MintooXavier Created on: 8/2/2024 10:48:37 AM

SUBSCRIBED | User: MintooXavier Created on: 8/2/2024 10:48:38 AM

ISSUE COMMENT | User: MintooXavier Created on: 8/2/2024 2:40:24 PM Issue comment body:
  1. And I click on the link labeled “Project_redcap_val_10.1”

@TanDBPRO : Pre-review completed.

MENTIONED | User: TanDBPRO Created on: 8/2/2024 2:40:25 PM

SUBSCRIBED | User: TanDBPRO Created on: 8/2/2024 2:40:26 PM

ISSUE COMMENT | User: TanDBPRO Created on: 9/1/2024 11:11:21 PM Issue comment body:

@MintooXavier - Please review when you can. I made the changes you have advised above.

MENTIONED | User: MintooXavier Created on: 9/1/2024 11:11:22 PM

SUBSCRIBED | User: MintooXavier Created on: 9/1/2024 11:11:22 PM

ISSUE COMMENT | User: MintooXavier Created on: 10/11/2024 1:22:11 PM Issue comment body:
  1. Step 7 was not done for all special functions.
  2. I have taken out the comments and added Scenarios with comments and VERIFY instead. I think it looks better.

I have modified the script and pushed to GitHub. Please pull your code before pushing again.

Script Pre-reviewed and Test Passes

ASSIGNED | User: MintooXavier Created on: 11/1/2024 11:22:02 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 11/1/2024 11:22:41 AM Issue comment body:

Automated this script

UNLABELLED | User: MintooXavier Created on: 11/4/2024 12:39:26 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/4/2024 12:39:26 PM Label name: Automated Label description:


————— feature ends —————



Feature: 109. Piping

Id: I_kwDOIaOBn86LV-h6 Uid: redcap_cypress-47
Author: MintooXavier Created: 6/6/2024 9:29:08 AM
Assignees: MintooXavier || TanDBPRO Resource path: /CCTC-team/redcap_cypress/issues/47
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:59:24 PM
Locked: false Participants: MintooXavier || TanDBPRO

Project item body:

Brief description:
The ‘Piping’ feature in REDCap allows you to inject previously collected data into text on a data collection form or survey, thus providing greater precision and control over question wording.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/109_piping.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Piping_109/D.109.100%20-%20Piping.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/109_piping.spec

D.109.100 - The system shall support the ability to use previously collected data in a text on a data collection form or survey.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Piping_109/D.109.100%20-%20Piping.feature

Feature: D.109.100 - The system shall support the ability to use previously collected data in a text on a data collection form or survey.

As a REDCap end user I want to see that Piping feature is functioning as expected

Scenario: D.109.100 - Piping Given I login to REDCap with the user “Test_Admin” And I create a new project named “D.109.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button When I click on the link labeled “Designer” And I click on the instrument labeled “Data Types” When I click on the first button labeled “Add Field” And I select “Multiple Choice - Radio Buttons (Single Answer)” from the Field Type dropdown of the open “Add New Field” dialog box And I enter “What is your favorite ice cream?” into the Field Label of the open “Add New Field” dialog box And I enter “ice_cream” into the Variable Name of the open “Add New Field” dialog box And I enter Choices of “1, Chocolate” into the open “Add New Field” dialog box And I enter Choices of “2, Strawberry” into the open “Add New Field” dialog box And I enter Choices of “3, Vanilla” into the open “Add New Field” dialog box And I click on the button labeled “Save” in the “Add New Field” dialog box
Then I should see the radio field labeled “What is your favorite ice cream?” with the options below | Chocolate | | Strawberry | | Vanilla |

#ACTION: Pipe the field
When I click on the first button labeled "Add Field"
And I select "Slider / Visual Analog Scale" from the Field Type dropdown of the open "Add New Field" dialog box
And I enter "How much do you love [ice_cream]?" into the Field Label of the open "Add New Field" dialog box
And I enter "love_icecream" into the Variable Name of the open "Add New Field" dialog box
And I enter "Hate it" into the input field labeled "Left label (bottom, if vertical):" in the dialog box
And I enter "Indifferent" into the input field labeled "Middle label:" in the dialog box
And I enter "I love [ice_cream]" into the input field labeled "Right label (top, if vertical):" in the dialog box
And I click on the checkbox element labeled "Display number value?" 
And I click on the button labeled "Save" in the "Add New Field" dialog box    
Then I should see the field labeled "How much do you love [ice_cream]?"

#VERIFY:
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see the field labeled "How much do you love ______"
And I should see "I love ____"

When I select the radio option "Chocolate" for the field labeled "What is your favorite ice cream?" 
Then I should see a field named "How much do you love Chocolate?" 
And I should see "I love Chocolate"

When I select the radio option "Strawberry" for the field labeled "What is your favorite ice cream?" 
And I should see a field named "How much do you love Strawberry?"
And I should see "I love Strawberry"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record Home Page"
And I logout

Comments:

Comment:

Author: TanDBPRO Updated on: 7/31/2024 5:30:38 PM

Comment body:

@MintooXavier - Please review script.

Comment:

Author: MintooXavier Updated on: 8/2/2024 1:59:44 PM

Comment body:
  1. And I click on the link labeled “D.109.100_Piping”

@TanDBPRO : Pre-review completed

Comment:

Author: TanDBPRO Updated on: 9/1/2024 11:09:43 PM

Comment body:

@MintooXavier - Please review when you can. I made the changes you have advised above.

Comment:

Author: MintooXavier Updated on: 9/6/2024 1:40:59 PM

Comment body:
  1. Remove the extra space in field labels. Similarly changes in lots of steps.
  2. Use https://aldefouw.github.io/redcap_cypress/#i-should-see-the-dropdowntype-field-labeled-string-with-the-options-below instead of
    And I should see “Chocolate, Strawberry, Vanilla” within the field with variable name “ice_cream”
  3. Check the option name.
    And I select “Slider/Visual Analog” on the dropdown field labeled “Field Type” in the dialog box
  4. Just Min: is ewnough.
    And I enter “1” into the input field labeled “Min/max range values: Min:” in the dialog box
  5. Same as above.
    And I enter “3” into the input field labeled “Min/max range values: Max:” in the dialog box
  6. Maybe take this out. There is no step to check options for slider. Not worth adding a new step definition to check this.
    And I should see “Hate it, Indifferent, I love [ice_cream]” within the field with variable name “ice_cream”
  7. Event name is ‘Event 1’.
    And I locate the bubble for the “Data Types” instrument on event “1” for record ID “1” and click on the bubble
  8. Steps 65 till 67 can be deleted.
    When I click on the link labeled “Record Status Dashboard”
  9. It is before not after. But no need to specify position. ‘Then I should see a field named “How much do you love Chocolate?”’ is enough.
    Then I should see a field named “How much do you love Chocolate?” after field named “What is your favorite ice cream”
  10. This step is not required.
    And I move the slider field labeled “How much do you love Chocolate?” to the position of 3
  11. No need this step.
    And I move the slider field labeled “How much do you love Strawberry?” to the position of 1
  12. Verify you can see ‘I love Strawberry’.
    Then I verify “Hate it” is within the data entry form field labeled “How much do you love Strawberry?”

@tan: Review completed.

Comment edits:

Created: 9/6/2024 1:40:59 PM Edited on: 9/6/2024 1:40:59 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Remove the extra space in field labels. Similarly changes in lots of steps.
  2. Use https://aldefouw.github.io/redcap_cypress/#i-should-see-the-dropdowntype-field-labeled-string-with-the-options-below instead of https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L31
  3. Check the option name. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L35
  4. Just Min: is ewnough. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L42
  5. Same as above. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L43
  6. Maybe take this out. There is no step to check options for slider. Not worth adding a new step definition to check this. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L47
  7. Event name is ‘Event 1’. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L60
  8. Steps 65 till 67 can be deleted. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L65
  9. It is before not after. But no need to specify position. ‘Then I should see a field named “How much do you love Chocolate?”’ is enough. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L70
  10. This step is not required. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L71
  11. No need this step. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L77
  12. Verify you can see ‘I love Strawberry’. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L78

@Tan: Review completed.

Created: 9/6/2024 1:40:59 PM Edited on: 9/6/2024 1:39:42 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Remove the extra space in field labels. Similarly changes in lots of steps.
  2. Use https://aldefouw.github.io/redcap_cypress/#i-should-see-the-dropdowntype-field-labeled-string-with-the-options-below instead of https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L31
  3. Check the option name. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L35
  4. Just Min: is ewnough. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L42
  5. Same as above. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L43
  6. Maybe take this out. There is no step to check options for slider. Not worth adding a new step definition to check this. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L47
  7. Event name is ‘Event 1’. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L60
  8. Steps 65 till 67 can be deleted. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L65
  9. It is before not after. But no need to specify position. ‘Then I should see a field named “How much do you love Chocolate?”’ is enough. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L70
  10. This step is not required. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L71
  11. No need this step. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L77
  12. Verify you can see ‘I love Strawberry’. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Piping_109/D.109.100%20-%20Piping.feature#L78

Comment:

Author: TanDBPRO Updated on: 11/4/2024 2:03:05 AM

Comment body:

Hi Mintoo, I have reviewed your comments and made the necessary changes. Please review when you have time.

  1. Remove the extra space in field labels. Similarly changes in lots of steps.
    Extra spaces removed.

  2. Use https://aldefouw.github.io/redcap_cypress/#i-should-see-the-dropdowntype-field-labeled-string-with-the-options-below instead of
    Use the correct language as above

  3. Check the option name.
    Option name corrected

  4. Just Min: is enough.
    Min: is used now in the step

  5. Just Max: is enough.
    **Max: is used now in the step

  6. Maybe take this out. There is no step to check options for slider. Not worth adding a new step definition to check this.
    Step has been removed

  7. Event name is ‘Event 1’
    Event 1 is the used now

  8. Steps 65 till 67 can be deleted
    Steps have been deleted

  9. It is before not after. But no need to specify position. ‘Then I should see a field named “How much do you love Chocolate?”’ is enough
    Removed reference to specify position

  10. This step is not required
    Removed step

  11. No need this step.
    Removed step

  12. Verify you can see ‘I love Strawberry’
    Step now verifies ’I love Strawberry

Comment edits:

Created: 11/4/2024 2:03:05 AM Edited on: 11/4/2024 2:03:05 AM Edited by: TanDBPRO Deleted on: |none| Deleted by: |none|

Diff:

Hi Mintoo, I have reviewed your comments and made the necessary changes. Please review when you have time.

  1. Remove the extra space in field labels. Similarly changes in lots of steps. Extra spaces removed.

  2. Use https://aldefouw.github.io/redcap_cypress/#i-should-see-the-dropdowntype-field-labeled-string-with-the-options-below instead of Use the correct language as above

  3. Check the option name. Option name corrected

  4. Just Min: is enough. Min: is used now in the step

  5. Just Max: is enough. **Max: is used now in the step

  6. Maybe take this out. There is no step to check options for slider. Not worth adding a new step definition to check this. Step has been removed

  7. Event name is ‘Event 1’ Event 1 is the used now

  8. Steps 65 till 67 can be deleted Steps have been deleted

  9. It is before not after. But no need to specify position. ‘Then I should see a field named “How much do you love Chocolate?”’ is enough Removed reference to specify position

  10. This step is not required Removed step

  11. No need this step. Removed step

  12. Verify you can see ‘I love Strawberry’ Step now verifies ’I love Strawberry

Created: 11/4/2024 2:03:05 AM Edited on: 11/4/2024 2:01:55 AM Edited by: TanDBPRO Deleted on: |none| Deleted by: |none|

Diff:

Hi Mintoo, I have reviewed your comments and made the necessary changes. Please review when you have time.

  1. Remove the extra space in field labels. Similarly changes in lots of steps. Extra spaces removed.

  2. Use https://aldefouw.github.io/redcap_cypress/#i-should-see-the-dropdowntype-field-labeled-string-with-the-options-below instead of Use the correct language as above

  3. Check the option name. Option name corrected

  4. Just Min: is enough. Min: is used now in the step

    1. Just Max: is enough. **Max: is used now in the step
  5. Maybe take this out. There is no step to check options for slider. Not worth adding a new step definition to check this. Step has been removed

  6. Event name is ‘Event 1’ Event 1 is the used now

  7. Steps 65 till 67 can be deleted Steps have been deleted

  8. It is before not after. But no need to specify position. ‘Then I should see a field named “How much do you love Chocolate?”’ is enough Removed reference to specify position

  9. This step is not required Removed step

  10. No need this step. Removed step

  11. Verify you can see ‘I love Strawberry’ Step now verifies ’I love Strawberry

Comment:

Author: MintooXavier Updated on: 11/4/2024 2:46:37 PM

Comment body:

Automated the script..


Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 9:29:08 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 9:29:08 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 9:29:08 AM Assignee: TanDBPRO

ISSUE COMMENT | User: TanDBPRO Created on: 7/31/2024 5:30:38 PM Issue comment body:

@MintooXavier - Please review script.

MENTIONED | User: MintooXavier Created on: 7/31/2024 5:30:39 PM

SUBSCRIBED | User: MintooXavier Created on: 7/31/2024 5:30:39 PM

LABELLED | User: TanDBPRO Created on: 7/31/2024 5:31:10 PM Label name: Gherkin Label description: Uses a Gherkin syntax

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:45:54 PM Previous title: 9. Piping Current title: 109. Piping

ISSUE COMMENT | User: MintooXavier Created on: 8/2/2024 1:59:44 PM Issue comment body:
  1. And I click on the link labeled “D.109.100_Piping”

@TanDBPRO : Pre-review completed

MENTIONED | User: TanDBPRO Created on: 8/2/2024 1:59:46 PM

SUBSCRIBED | User: TanDBPRO Created on: 8/2/2024 1:59:46 PM

ISSUE COMMENT | User: TanDBPRO Created on: 9/1/2024 11:09:43 PM Issue comment body:

@MintooXavier - Please review when you can. I made the changes you have advised above.

MENTIONED | User: MintooXavier Created on: 9/1/2024 11:09:45 PM

SUBSCRIBED | User: MintooXavier Created on: 9/1/2024 11:09:45 PM

ISSUE COMMENT | User: MintooXavier Created on: 9/6/2024 1:39:42 PM Issue comment body:
  1. Remove the extra space in field labels. Similarly changes in lots of steps.
  2. Use https://aldefouw.github.io/redcap_cypress/#i-should-see-the-dropdowntype-field-labeled-string-with-the-options-below instead of
    And I should see “Chocolate, Strawberry, Vanilla” within the field with variable name “ice_cream”
  3. Check the option name.
    And I select “Slider/Visual Analog” on the dropdown field labeled “Field Type” in the dialog box
  4. Just Min: is ewnough.
    And I enter “1” into the input field labeled “Min/max range values: Min:” in the dialog box
  5. Same as above.
    And I enter “3” into the input field labeled “Min/max range values: Max:” in the dialog box
  6. Maybe take this out. There is no step to check options for slider. Not worth adding a new step definition to check this.
    And I should see “Hate it, Indifferent, I love [ice_cream]” within the field with variable name “ice_cream”
  7. Event name is ‘Event 1’.
    And I locate the bubble for the “Data Types” instrument on event “1” for record ID “1” and click on the bubble
  8. Steps 65 till 67 can be deleted.
    When I click on the link labeled “Record Status Dashboard”
  9. It is before not after. But no need to specify position. ‘Then I should see a field named “How much do you love Chocolate?”’ is enough.
    Then I should see a field named “How much do you love Chocolate?” after field named “What is your favorite ice cream”
  10. This step is not required.
    And I move the slider field labeled “How much do you love Chocolate?” to the position of 3
  11. No need this step.
    And I move the slider field labeled “How much do you love Strawberry?” to the position of 1
  12. Verify you can see ‘I love Strawberry’.
    Then I verify “Hate it” is within the data entry form field labeled “How much do you love Strawberry?”

@tan: Review completed.

MENTIONED | User: tan Created on: 9/6/2024 1:41:00 PM

SUBSCRIBED | User: tan Created on: 9/6/2024 1:41:00 PM

ISSUE COMMENT | User: TanDBPRO Created on: 11/4/2024 2:01:55 AM Issue comment body:

Hi Mintoo, I have reviewed your comments and made the necessary changes. Please review when you have time.

  1. Remove the extra space in field labels. Similarly changes in lots of steps.
    Extra spaces removed.

  2. Use https://aldefouw.github.io/redcap_cypress/#i-should-see-the-dropdowntype-field-labeled-string-with-the-options-below instead of
    Use the correct language as above

  3. Check the option name.
    Option name corrected

  4. Just Min: is enough.
    Min: is used now in the step

  5. Just Max: is enough.
    **Max: is used now in the step

  6. Maybe take this out. There is no step to check options for slider. Not worth adding a new step definition to check this.
    Step has been removed

  7. Event name is ‘Event 1’
    Event 1 is the used now

  8. Steps 65 till 67 can be deleted
    Steps have been deleted

  9. It is before not after. But no need to specify position. ‘Then I should see a field named “How much do you love Chocolate?”’ is enough
    Removed reference to specify position

  10. This step is not required
    Removed step

  11. No need this step.
    Removed step

  12. Verify you can see ‘I love Strawberry’
    Step now verifies ’I love Strawberry

ISSUE COMMENT | User: MintooXavier Created on: 11/4/2024 2:46:37 PM Issue comment body:

Automated the script..

ASSIGNED | User: MintooXavier Created on: 11/4/2024 2:48:35 PM Assignee: MintooXavier

UNLABELLED | User: MintooXavier Created on: 11/4/2024 2:48:43 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/4/2024 2:48:43 PM Label name: Automated Label description:


————— feature ends —————



Feature: 108. Smart Variables

Id: I_kwDOIaOBn86LV4M4 Uid: redcap_cypress-46
Author: MintooXavier Created: 6/6/2024 9:16:07 AM
Assignees: MintooXavier || TanDBPRO Resource path: /CCTC-team/redcap_cypress/issues/46
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:58:51 PM
Locked: false Participants: MintooXavier || TanDBPRO

Project item body:

Brief description:
Smart variables are context-specific variables which gives you information about the context in which data is being entered. i.e. the who the current user is, what event is currently being viewed, whether or not an instrument is being viewed as a survey or data entry form, etc. These are used for validating data and also getting information about the context.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/108_smart_variables.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/108_smart_variables.spec

D.108.100 - The system shall support the ability to use Smart Variables in data entry forms. The following subset of Smart Variables is selected and tested:
    D.108.100.1 - [event-label]
    D.108.100.2 - [record-dag-id]
    D.108.100.3 - [user-role-label]
    D.108.100.4 - [instrument-name]
    D.108.100.5 - [user-fullname]

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature

Feature: D.108.100 - The system shall support the ability to use Smart Variables in data entry forms. The following subset of Smart Variables is selected and tested: D.108.100.1 - [event-label]
D.108.100.2 - [record-dag-id]
D.108.100.3 - [user-role-label] D.108.100.4 - [instrument-name] D.108.100.5 - [user-fullname]

As a REDCap end user I want to see that smart variables feature is functioning as expected

Scenario: Project setup Given I login to REDCap with the user “Test_Admin” And I create a new project named “D.108.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

# Add Test_User1
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I should see a dialog containing the following text: "Adding new user"
And I save changes within the context of User Rights

# Add Test_User1 to TestRole
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
Then I select "TestRole" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "TestRole" row of the column labeled "Username" of the User Rights table

# Add Test_User1 to DAG1
When I click on the link labeled "DAGs"
When I select "test_user1 (Test User1)" on the dropdown field labeled "Assign user"
And I select "DAG1" on the dropdown field labeled "to"
And I click on the button labeled "Assign"

# Test_User1 is assigned to DAG1 (Group ID number 1)
Then I should see a table header and rows containing the following values in data access groups table:
  | Data Access Groups | Users in group         | Group ID number |
  | DAG1               |test_user1 (Test User1) | 1               |         

And I logout

Scenario: D.108.100.1 - [event-label] Given I login to REDCap with the user “Test_User1” When I click on the link labeled “My Projects”
And I click on the link labeled “D.108.100” Then I click on the link labeled “Designer” And I should see “Text Validation” When I click on the instrument labeled “Text Validation” And I click on the first button labeled “Add Field” And I select “Descriptive Text (with optional Image/Video/Audio/File Attachment)” from the Field Type dropdown of the open “Add New Field” dialog box And I enter “Event Label: [event-label]” into the Field Label of the open “Add New Field” dialog box And I enter “event_label” into the Variable Name of the open “Add New Field” dialog box Then I click on the button labeled “Save” in the “Add New Field” dialog box

#VERIFY: [event-label] shows correctly in instrument
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Then I should see "Record Home Page"
And I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see a field named "Event Label: Event 1"
And I click on the button labeled "Save & Exit Form"
When I should see "Record Home Page"
# Add instrument in another event and check

Scenario: D.108.100.2 - [record-dag-id] When I click on the link labeled “Designer” And I click on the instrument labeled “Text Validation” And I click on the first button labeled “Add Field” And I select “Descriptive Text (with optional Image/Video/Audio/File Attachment)” from the Field Type dropdown of the open “Add New Field” dialog box And I enter “Group ID Assigned: [record-dag-id]” into the Field Label of the open “Add New Field” dialog box And I enter “dag_id” into the Variable Name of the open “Add New Field” dialog box Then I click on the button labeled “Save” in the “Add New Field” dialog box

#VERIFY: [record-dag-id] shows correctly in instrument
When I click on the link labeled "Add / Edit Records"
And I select record ID "1-1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should see "Record Home Page"
And I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see a field named "Group ID Assigned: 1"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

Scenario: D.108.100.3 - [user-role-label] Given I click on the link labeled “Designer” And I should see “Text Validation” When I click on the instrument labeled “Text Validation” And I click on the first button labeled “Add Field” And I select “Descriptive Text (with optional Image/Video/Audio/File Attachment)” from the Field Type dropdown of the open “Add New Field” dialog box And I enter “User role: [user-role-label]” into the Field Label of the open “Add New Field” dialog box And I enter “user_role” into the Variable Name of the open “Add New Field” dialog box Then I click on the button labeled “Save” in the “Add New Field” dialog box

#VERIFY: [user-role-label] shows correctly in instrument
When I click on the link labeled "Add / Edit Records"
And I select record ID "1-1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should see "Record Home Page"
And I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see a field named "User role: TestRole"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record Home Page"

Scenario: D.108.100.4 - [instrument-name] When I click on the link labeled “Designer” And I click on the instrument labeled “Text Validation” And I click on the first button labeled “Add Field” And I select “Descriptive Text (with optional Image/Video/Audio/File Attachment)” from the Field Type dropdown of the open “Add New Field” dialog box And I enter “Instrument Name: [instrument-name]” into the Field Label of the open “Add New Field” dialog box And I enter “instrument_name” into the Variable Name of the open “Add New Field” dialog box Then I click on the button labeled “Save”

#VERIFY: [instrument-name] shows correctly in instrument
When I click on the link labeled "Add / Edit Records"
And I select record ID "1-1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should see "Record Home Page" 
And I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see a field named "Instrument Name: text_validation"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record Home Page"

Scenario: D.108.100.5 [user-fullname] When I click on the link labeled “Designer” And I click on the instrument labeled “Text Validation” And I click on the first button labeled “Add Field” And I select “Descriptive Text (with optional Image/Video/Audio/File Attachment)” from the Field Type dropdown of the open “Add New Field” dialog box And I enter “User Fullname: [user-fullname]” into the Field Label of the open “Add New Field” dialog box And I enter “user_fullname” into the Variable Name of the open “Add New Field” dialog box Then I click on the button labeled “Save”

#VERIFY: [user-fullname] shows correctly in instrument
When I click on the link labeled "Add / Edit Records"
And I select record ID "1-1" from arm name "Arm 1: Arm 1" on the Add / Edit record page
Then I should see "Record Home Page"
And I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see a field named "User Fullname: Test User1"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record Home Page"
And I logout

Comments:

Comment:

Author: TanDBPRO Updated on: 9/3/2024 1:10:13 AM

Comment body:

@MintooXavier - Please review this new script when you can. Thanks Tan

Comment:

Author: MintooXavier Updated on: 9/18/2024 1:24:43 PM

Comment body:
  1. Please don’t change the link to User spec. It should point to redcap_val branch
  2. These comments are not required.
    #Create a DAG group called ‘DAG_TEST_GROUP’ to test smart variables
  3. You are not creating it. Maybe create a scenario for each smart variable and put the smart variable name. e.g. Scenario: D.108.100.1 - [event-name]
  4. You already have a DAG called DAG1. Why do you have to create another DAG. You could assign the user to DAG1 and delete all the unwanted steps.
  5. Last 2 columns are not required.
    Then I should see a table header and rows containing the following values in data access groups table:
  6. Not sure why these steps are needed. please delete unnecessary verifications.
    #VERIFY_RSD: Records in Record Status Dashboard
  7. So many unwanted steps. No need to verify this. Maybe just verify you can see an instrument name. Similarly change in other locations.
    And I should see a table header and rows containing the following values in a table:
  8. Create the project, add user, add user to DAG1, log out. Login as test_user and verify smart variables.
  9. You don’t need to verify these 2 steps. Please delete it from all locations.
    And I should see the “Incomplete (no data saved)” icon for the “Text Validation” longitudinal instrument on event “Event 1” for record “22-1”
    .
  10. Approriate step definition would be ‘I click the bubble to select a record for the “Data Types” longitudinal instrument on event “Event 1”’ instead of the below. Change in all locations.:
    And I click on the bubble for the “Data Types” data collection instrument for record ID “22-1”
  11. Use record id 1-1 instead od 22-1 as it would be the only DAG when automating and DAG number will be 1. Change DAG number to 1 everywhere it is used.
    And I select record ID “22-1” from arm name “Arm 1: Arm 1” on the Add / Edit record page
  12. Don’t have to verify this. We are verifying Smart variables not user-DAG assignment.
    #VERIFY: Test_User only has access records assigned under DAG group ID: 22
  13. Logout.
  14. Use this step definition : I enter “TestRole2” into the field with the placeholder text of “Enter new role name” instead of
    And I enter “Data Manager” into the input field labeled “Create new roles: Add new user roles to which users may be assigned.”
  15. Check label.
    And I click on the button labeled “Create”
  16. Can you test [user-fullname] instead of form url as form url is not easy to generate, it depends on redcap version, PID etc. I’ll change the user spec for this.

@TanDBPRO : Review completed

Comment edits:

Created: 9/18/2024 1:24:43 PM Edited on: 9/18/2024 1:24:43 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Please don’t change the link to User spec. It should point to redcap_val branch
  2. These comments are not required. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L11
  3. You are not creating it. Maybe create a scenario for each smart variable and put the smart variable name. e.g. Scenario: D.108.100.1 - [event-name]
  4. You already have a DAG called DAG1. Why do you have to create another DAG. You could assign the user to DAG1 and delete all the unwanted steps.
  5. Last 2 columns are not required. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L52
  6. Not sure why these steps are needed. please delete unnecessary verifications. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L58
  7. So many unwanted steps. No need to verify this. Maybe just verify you can see an instrument name. Similarly change in other locations. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L70
  8. Create the project, add user, add user to DAG1, log out. Login as test_user and verify smart variables.
  9. You don’t need to verify these 2 steps. Please delete it from all locations. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L87.
  10. Approriate step definition would be ‘I click the bubble to select a record for the “Data Types” longitudinal instrument on event “Event 1”’ instead of the below. Change in all locations.: https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L89
  11. Use record id 1-1 instead od 22-1 as it would be the only DAG when automating and DAG number will be 1. Change DAG number to 1 everywhere it is used. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L106
  12. Don’t have to verify this. We are verifying Smart variables not user-DAG assignment. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L115
  13. Logout. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L121
  14. Use this step definition : I enter “TestRole2” into the field with the placeholder text of “Enter new role name” instead of https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L128
  15. Check label. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L131
  16. Can you test [user-fullname] instead of form url as form url is not easy to generate, it depends on redcap version, PID etc. I’ll change the user spec for this.

@TanDBPRO : Review completed

Created: 9/18/2024 1:24:43 PM Edited on: 9/18/2024 11:08:18 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Please don’t change the link to User spec. It should point to redcap_val branch
  2. These comments are not required. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L11
  3. You are not creating it. Maybe create a scenario for each smart variable and put the smart variable name. e.g. Scenario: D.108.100.1 - [event-name]
  4. You already have a DAG called DAG1. Why do you have to create another DAG. You could assign the user to DAG1 and delete all the unwanted steps.
  5. Last 2 columns are not required. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L52
  6. Not sure why these steps are needed. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L58
  7. You can do all the steps logged in as admin. No need to login as Test_User. https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L66
  8. SO many unwanted steps. No need to verify https://github.com/CCTC-team/redcap_cypress/blob/3b90a2e165026c3339c6a1f5f768f522cd6696d8/manual_scripts/Smart%20Variables_108/D.108.100%20-%20Smart%20Variables.feature#L70

Comment:

Author: TanDBPRO Updated on: 11/4/2024 5:07:19 AM

Comment body:

Hi Mintoo, I have made the changes requested. Please review when you have time.

  1. These comments are not required.
    Removed the comment for DAG Is the comment for create a Data Manager role ok?

  2. You are not creating it. Maybe create a scenario for each smart variable and put the smart variable name. e.g. Scenario: D.108.100.1 - [event-name]
    Created a scenario for each variable

4.You already have a DAG called DAG1. Why do you have to create another DAG. You could assign the user to DAG1 and delete all the unwanted steps.
Deleted steps and used DAG1 for user

  1. Last 2 columns are not required.
    Deleted 2 columns

6.Not sure why these steps are needed. please delete unnecessary verifications
Deleted steps for VERIFY_RSD

  1. So many unwanted steps. No need to verify this. Maybe just verify you can see an instrument name. Similarly change in other locations
    Removed unnecessary steps and put steps in to verify I can see instrument name

8.Create the project, add user, add user to DAG1, log out. Login as test_user and verify smart variables.
Have tried to follow this process apart from the step where I create the Data Manager role and then login again as Test_User, please check this is ok?

  1. You don’t need to verify these 2 steps. Please delete it from all locations
    Deleted these 2 steps from all locations

10.Approriate step definition would be ‘I click the bubble to select a record for the “Data Types” longitudinal instrument on event “Event 1”’ instead of the below. Change in all locations.:
Used correct step definition as mentioned above

  1. Use record id 1-1 instead od 22-1 as it would be the only DAG when automating and DAG number will be 1. Change DAG number to 1 everywhere it is used.
    Used record id 1-1 in all steps

  2. Don’t have to verify this. We are verifying Smart variables not user-DAG assignment
    Removed this step

  3. Logout
    I added step to logout

  4. Use this step definition : I enter “TestRole2” into the field with the placeholder text of “Enter new role name” instead of
    Used the step definition above for the Data Manager role

15.Check label
Corrected label to ‘Create role’

16.Can you test [user-fullname] instead of form url as form url is not easy to generate, it depends on redcap version, PID etc. I’ll change the user spec for this.
Tested smart variable [user-fullname] and removed form url

Comment:

Author: MintooXavier Updated on: 11/5/2024 11:58:16 AM

Comment body:

Script modified and automated.


Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 9:16:07 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 9:16:07 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 9:16:08 AM Assignee: TanDBPRO

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:44:52 PM Previous title: 8. Smart Variables Current title: 108. Smart Variables

ISSUE COMMENT | User: TanDBPRO Created on: 9/3/2024 1:10:13 AM Issue comment body:

@MintooXavier - Please review this new script when you can. Thanks Tan

MENTIONED | User: MintooXavier Created on: 9/3/2024 1:10:14 AM

SUBSCRIBED | User: MintooXavier Created on: 9/3/2024 1:10:14 AM

ISSUE COMMENT | User: MintooXavier Created on: 9/18/2024 11:08:18 AM Issue comment body:
  1. Please don’t change the link to User spec. It should point to redcap_val branch
  2. These comments are not required.
    #Create a DAG group called ‘DAG_TEST_GROUP’ to test smart variables
  3. You are not creating it. Maybe create a scenario for each smart variable and put the smart variable name. e.g. Scenario: D.108.100.1 - [event-name]
  4. You already have a DAG called DAG1. Why do you have to create another DAG. You could assign the user to DAG1 and delete all the unwanted steps.
  5. Last 2 columns are not required.
    Then I should see a table header and rows containing the following values in data access groups table:
  6. Not sure why these steps are needed. please delete unnecessary verifications.
    #VERIFY_RSD: Records in Record Status Dashboard
  7. So many unwanted steps. No need to verify this. Maybe just verify you can see an instrument name. Similarly change in other locations.
    And I should see a table header and rows containing the following values in a table:
  8. Create the project, add user, add user to DAG1, log out. Login as test_user and verify smart variables.
  9. You don’t need to verify these 2 steps. Please delete it from all locations.
    And I should see the “Incomplete (no data saved)” icon for the “Text Validation” longitudinal instrument on event “Event 1” for record “22-1”
    .
  10. Approriate step definition would be ‘I click the bubble to select a record for the “Data Types” longitudinal instrument on event “Event 1”’ instead of the below. Change in all locations.:
    And I click on the bubble for the “Data Types” data collection instrument for record ID “22-1”
  11. Use record id 1-1 instead od 22-1 as it would be the only DAG when automating and DAG number will be 1. Change DAG number to 1 everywhere it is used.
    And I select record ID “22-1” from arm name “Arm 1: Arm 1” on the Add / Edit record page
  12. Don’t have to verify this. We are verifying Smart variables not user-DAG assignment.
    #VERIFY: Test_User only has access records assigned under DAG group ID: 22
  13. Logout.
  14. Use this step definition : I enter “TestRole2” into the field with the placeholder text of “Enter new role name” instead of
    And I enter “Data Manager” into the input field labeled “Create new roles: Add new user roles to which users may be assigned.”
  15. Check label.
    And I click on the button labeled “Create”
  16. Can you test [user-fullname] instead of form url as form url is not easy to generate, it depends on redcap version, PID etc. I’ll change the user spec for this.

@TanDBPRO : Review completed

MENTIONED | User: TanDBPRO Created on: 9/18/2024 1:25:03 PM

SUBSCRIBED | User: TanDBPRO Created on: 9/18/2024 1:25:03 PM

ISSUE COMMENT | User: TanDBPRO Created on: 11/4/2024 5:07:19 AM Issue comment body:

Hi Mintoo, I have made the changes requested. Please review when you have time.

  1. These comments are not required.
    Removed the comment for DAG Is the comment for create a Data Manager role ok?

  2. You are not creating it. Maybe create a scenario for each smart variable and put the smart variable name. e.g. Scenario: D.108.100.1 - [event-name]
    Created a scenario for each variable

4.You already have a DAG called DAG1. Why do you have to create another DAG. You could assign the user to DAG1 and delete all the unwanted steps.
Deleted steps and used DAG1 for user

  1. Last 2 columns are not required.
    Deleted 2 columns

6.Not sure why these steps are needed. please delete unnecessary verifications
Deleted steps for VERIFY_RSD

  1. So many unwanted steps. No need to verify this. Maybe just verify you can see an instrument name. Similarly change in other locations
    Removed unnecessary steps and put steps in to verify I can see instrument name

8.Create the project, add user, add user to DAG1, log out. Login as test_user and verify smart variables.
Have tried to follow this process apart from the step where I create the Data Manager role and then login again as Test_User, please check this is ok?

  1. You don’t need to verify these 2 steps. Please delete it from all locations
    Deleted these 2 steps from all locations

10.Approriate step definition would be ‘I click the bubble to select a record for the “Data Types” longitudinal instrument on event “Event 1”’ instead of the below. Change in all locations.:
Used correct step definition as mentioned above

  1. Use record id 1-1 instead od 22-1 as it would be the only DAG when automating and DAG number will be 1. Change DAG number to 1 everywhere it is used.
    Used record id 1-1 in all steps

  2. Don’t have to verify this. We are verifying Smart variables not user-DAG assignment
    Removed this step

  3. Logout
    I added step to logout

  4. Use this step definition : I enter “TestRole2” into the field with the placeholder text of “Enter new role name” instead of
    Used the step definition above for the Data Manager role

15.Check label
Corrected label to ‘Create role’

16.Can you test [user-fullname] instead of form url as form url is not easy to generate, it depends on redcap version, PID etc. I’ll change the user spec for this.
Tested smart variable [user-fullname] and removed form url

ISSUE COMMENT | User: MintooXavier Created on: 11/5/2024 11:58:16 AM Issue comment body:

Script modified and automated.

ASSIGNED | User: MintooXavier Created on: 11/5/2024 11:58:27 AM Assignee: MintooXavier

UNLABELLED | User: MintooXavier Created on: 11/5/2024 11:58:37 AM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/5/2024 11:58:37 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 11/5/2024 11:58:37 AM Label name: Automated Label description:


————— feature ends —————



Feature: 103. Form Display Logic

Id: I_kwDOIaOBn86LVo4n Uid: redcap_cypress-41
Author: MintooXavier Created: 6/6/2024 8:49:06 AM
Assignees: MintooXavier || LawrenceFayers Resource path: /CCTC-team/redcap_cypress/issues/41
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:57:09 PM
Locked: false Participants: MintooXavier || LawrenceFayers

Project item body:

Brief description:
Form Display Logic is an advanced feature that provides a way to use conditional logic to disable specific data entry forms that are displayed on the Record Status Dashboard, Record Home Page, or the form list on the left-hand menu. You might think of it as ‘form-level branching logic’. i.e. the form becomes available for data entry when the condition is met.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/103_form_display_logic.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Form%20Display%20Logic_103/D.103.100%20-%20Form%20Display%20Logic.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Form%20Display%20Logic_103/D.103.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Form%20Display%20Logic_103/D.103.300%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/103_form_display_logic.spec

D.103.100 - The system shall support the ability to display a form/instrument when a condition is met.
D.103.200 - The system shall support the ability to Keep forms enabled if they contain data.
D.103.300 - The system shall support the ability to hide forms that are disabled.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Form%20Display%20Logic_103/D.103.100%20-%20Form%20Display%20Logic.feature

Feature: D.103.100 - The system shall support the ability to display a form/instrument when a condition is met.

As a REDCap end user I want to see that Form Display Logic is functioning as expected

Scenario: D.103.100 Form Display Logic Given I login to REDCap with the user “Test_User1” And I create a new project named “D.103.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button And I click on the link labeled “Designer” When I click on the button labeled “Form Display Logic” And I select “Data Types [All Events]” on the dropdown field labeled “Keep the following forms enabled…” Then I should see “…when the logic below is TRUE.” And I enter “[ptname_v2_v2]!=’’” into the textarea field labeled “…when the logic below is TRUE.” And I clear field and enter “[ptname_v2_v2]!=’’” in the textarea field labeled “Logic Editor” in the dialog box And I click on the button labeled “Update & Close Editor” And I click on the button labeled “Save” Then I should see “Saved!” And I click on the button labeled “Close” in the dialog box

Given I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
## Form is not disabled as Name is empty
Then I should see "Data Types"
And I cannot click the bubble for the "Data Types" longitudinal instrument which is disabled
When I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "" in the data entry form field "Name" 
And I enter "User 2" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
# Form is enabled
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record ID 2 successfully edited."

Given I click on the link labeled "Designer"
When I click on the button labeled "Form Display Logic"
And I check the checkbox labeled "Keep forms enabled if they contain data"
And I check the checkbox labeled "Hide forms that are disabled"
And I click on the button labeled "Save"
Then I should see "Saved!"
And I click on the button labeled "Close" in the dialog box

Given I click on the link labeled "Add / Edit Records"
When I click on the button labeled "Add new record for the arm selected above"
And I should see "3"  
# Hiding Data Types as it is disabled
Then I should NOT see "Data Types"

Given I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
And I enter "user3" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
# Data Types enabled
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record ID 3 successfully edited."

Given I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event 1"
And I clear field and enter "" into the data entry form field labeled "Name"
And I click on the button labeled "Save & Exit Form"
And I should see "Record ID 3 successfully edited."
# Data Types remains enabled as 'Keep forms enabled if they contain data'
When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
And I should see "Text2"
Then I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Form%20Display%20Logic_103/D.103.200%20-%20REDUNDANT.feature

Feature: D.103.200 - The system shall support the ability to Keep forms enabled if they contain data.

This feature test is REDUNDANT and can be viewed in D.103.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Form%20Display%20Logic_103/D.103.300%20-%20REDUNDANT.feature

Feature: D.103.300 - The system shall support the ability to hide forms that are disabled.

This feature test is REDUNDANT and can be viewed in D.103.100

Comments:

Comment:

Author: LawrenceFayers Updated on: 8/23/2024 10:17:35 AM

Comment body:

Scripting done, unsure on if I can do line 42 (comment below it, please delete).

Comment:

Author: MintooXavier Updated on: 8/23/2024 1:40:11 PM

Comment body:
  1. Nothing to clear, but would work. Probably best to use ‘I enter…’
    And I clear field and enter “User 2” into the data entry form field labeled “Name”
  2. Same for line 23
  3. Won’t work. Maybe put I should see “3”.
    @LawrenceFayers : Review Completed

Comment edits:

Created: 8/23/2024 1:40:11 PM Edited on: 8/23/2024 1:40:11 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Nothing to clear, but would work. Probably best to use ‘I enter…’ https://github.com/CCTC-team/redcap_cypress/blob/4f66e898f3dcdc8ba0e35b03fc024ff099aee80c/manual_scripts/Form%20Display%20Logic_103/D.103.100%20-%20Form%20Display%20Logic.feature#L20
  2. Same for line 23
  3. Won’t work. Maybe put I should see “3”. https://github.com/CCTC-team/redcap_cypress/blob/4f66e898f3dcdc8ba0e35b03fc024ff099aee80c/manual_scripts/Form%20Display%20Logic_103/D.103.100%20-%20Form%20Display%20Logic.feature#L42 @LawrenceFayers : Review Completed

Created: 8/23/2024 1:40:11 PM Edited on: 8/23/2024 1:35:35 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Nothing to clear, but would work. Probably best to use ‘I enter…’ https://github.com/CCTC-team/redcap_cypress/blob/4f66e898f3dcdc8ba0e35b03fc024ff099aee80c/manual_scripts/Form%20Display%20Logic_103/D.103.100%20-%20Form%20Display%20Logic.feature#L20
  2. Same for line 23
  3. Won’t work. Maybe delete the step. https://github.com/CCTC-team/redcap_cypress/blob/4f66e898f3dcdc8ba0e35b03fc024ff099aee80c/manual_scripts/Form%20Display%20Logic_103/D.103.100%20-%20Form%20Display%20Logic.feature#L42 @LawrenceFayers : Review Completed

Comment:

Author: LawrenceFayers Updated on: 8/23/2024 1:44:44 PM

Comment body:

Corrections made

Comment:

Author: MintooXavier Updated on: 8/23/2024 1:59:11 PM

Comment body:

Test passed

Comment:

Author: MintooXavier Updated on: 11/6/2024 9:35:12 AM

Comment body:

Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 8:49:06 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 8:49:06 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 8:49:06 AM Assignee: MintooXavier

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:43:47 PM Previous title: 3. Form Display Logic Current title: 103. Form Display Logic

ASSIGNED | User: MintooXavier Created on: 8/9/2024 2:34:42 PM Assignee: LawrenceFayers

ISSUE COMMENT | User: LawrenceFayers Created on: 8/23/2024 10:17:35 AM Issue comment body:

Scripting done, unsure on if I can do line 42 (comment below it, please delete).

UNASSIGNED | User: LawrenceFayers Created on: 8/23/2024 10:22:09 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 8/23/2024 1:35:35 PM Issue comment body:
  1. Nothing to clear, but would work. Probably best to use ‘I enter…’
    And I clear field and enter “User 2” into the data entry form field labeled “Name”
  2. Same for line 23
  3. Won’t work. Maybe put I should see “3”.
    @LawrenceFayers : Review Completed

MENTIONED | User: LawrenceFayers Created on: 8/23/2024 1:35:36 PM

SUBSCRIBED | User: LawrenceFayers Created on: 8/23/2024 1:35:36 PM

ISSUE COMMENT | User: LawrenceFayers Created on: 8/23/2024 1:44:44 PM Issue comment body:

Corrections made

ISSUE COMMENT | User: MintooXavier Created on: 8/23/2024 1:59:11 PM Issue comment body:

Test passed

ISSUE COMMENT | User: MintooXavier Created on: 11/6/2024 9:35:12 AM Issue comment body:

UNLABELLED | User: MintooXavier Created on: 11/6/2024 9:39:30 AM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/6/2024 9:39:30 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 11/6/2024 9:39:30 AM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 11/6/2024 9:39:48 AM Assignee: MintooXavier


————— feature ends —————



Feature: 102. Alerts and Notifications

Id: I_kwDOIaOBn86LOcxi Uid: redcap_cypress-36
Author: MintooXavier Created: 6/5/2024 12:50:06 PM
Assignees: MintooXavier || rukayat-yakub Resource path: /CCTC-team/redcap_cypress/issues/36
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:56:49 PM
Locked: false Participants: MintooXavier || rukayat-yakub

Project item body:

Brief description:
This feature is used to send emails when a record is saved and/or when a condition is met. e.g. when a participant is registered etc.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/102_alerts_and_notifications.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.100%20-%20Alerts%20and%20Notification.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.300%20-%20Alerts%20Based%20on%20Conditional%20Logic.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.400%20-%20Alerts%20Based%20on%20Conditional%20Logic%20During%20Import.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.600%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/102_alerts_and_notifications.spec

D.102.100 - The system shall support the ability to send emails when a record is saved on a specific form/survey
D.102.200 - The system shall support the ability to send emails when a record is saved on a specific form/survey with Complete Status Only
D.102.300 - The system shall support the ability to send emails If conditional logic is TRUE when a record is saved on a specific form/survey
D.102.400 - The system shall support the ability to send emails When conditional logic is TRUE during a data import, data entry, or as the result of time-based logic
D.102.500 - The system shall support the ability to copy, deactivate, reactivate, move and permanently delete alerts and notifications
D.102.600 - The system shall support the ability to upload/download the settings of alerts and notifications

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.100%20-%20Alerts%20and%20Notification.feature

Feature: D.102.100 - The system shall support the ability to send emails when a record is saved on a specific form/survey

As a REDCap end user
I want to see that Alerts and Notifications is functioning as expected

Scenario: D.102.100 - Send alert when a record is saved on a specific form/survey
    Given I login to REDCap with the user "Test_User1"   
    And I create a new project named "D.102.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val.xml", and clicking the "Create Project" button

    #FUNCTIONAL_REQUIREMENT
    ##ACTION: New Alert
    When I click on the link labeled "Alerts & Notifications"
    Then I should NOT see "Alert #1:Email Alert"
    And I click on the button labeled "Add New Alert"
    Then I should see "Create new alert"
    And I enter "Email Alert" into the input field labeled "Title of this alert"
    And I should see the radio option "When a record is saved on a specific form/survey" for How will this alert be triggered selected
    And I select '"Data Types" (Event 1 (Arm 1: Arm 1))' on the dropdown field for alert form name
    And I should see the dropdown field for alert form status with the option "is saved with any form status" selected
    And I should see the radio option "Send immediately" for When to send the alert selected
    And I should see the radio option "Just once" for Send it how many times selected
    And I should see the radio option "Email" for Alert Type selected
    And I enter "test_user2@example.com" into the input field labeled "Email To"
    Then I enter "Testing Alerts and Notifications" into the alert message
    And I enter "Alerts and Notifications" into the input field labeled "Subject"
    When I save the alert
    Then I should see "Success! New alert created"
    And I should see "Alert #1:Email Alert"

    Given I click on the link labeled "Add / Edit Records"
    And I click on the button labeled "Add new record for the arm selected above"
    When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
    And I enter "Lily Brown" into the data entry form field labeled "Name"
    And I click on the button labeled "Save & Exit Form"
    Then I should see "Record ID 2 successfully added."
    And I logout

    ##VERIFY: Verify email in MailHog 
    Given I open Email
    Then I should see an email for user "test_user2@example.com" with subject "Alerts and Notifications"
  
    # Login to REDCap
    Given I login to REDCap with the user "Test_User1"
    And I click on the link labeled "My Projects"
    And I click on the link labeled "D.102.100"        
    And I click on the link labeled "Alerts & Notifications"
    When I click on the tab labeled "Notification Log"
    And I click on the button labeled "View past notifications"
    Then I should see a table header and rows containing the following values in the a table:
        | Notification send time | Alert    | Record                          | Recipient              | Subject                  | 
        | mm/dd/yyyy hh:mm       | #1 (A-1) | 2 (#1) - Event 1 (Arm 1: Arm 1) | test_user2@example.com | Alerts and Notifications |

    Given I click on the mail icon for record 2
    Then I should see "Test_User1@test.edu" in the dialog box
    And I should see "test_user2@example.com" in the dialog box
    And I should see "Testing Alerts and Notifications" in the dialog box
    And I should see "Alerts and Notifications" in the dialog box
    Then I click on the button labeled "Close" in the dialog box

Scenario: D.102.200 - Modify Alerts
    Given I click on the tab labeled "My Alerts"
    When I click on the button labeled "Edit" for alert "1"
    Then I should see "Edit Alert #1" in the dialog box
    And I select "is saved with Complete status only" on the dropdown field for alert form status
    And I clear field and enter "test_user3@example.com" into the input field labeled "Email To"
    Then I enter "Testing Editing Alerts and Notifications" into the alert message
    And I clear field and enter "Editing Alerts and Notifications" into the input field labeled "Subject"
    When I save the alert
    Then I should see "Success! The alert was updated"
    And I should see "Alert #1:Email Alert"

    Given I click on the link labeled "Add / Edit Records"
    And I click on the button labeled "Add new record for the arm selected above"
    When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
    And I enter "Thomas Stone" into the input field labeled "Name"
    And I click on the button labeled "Save & Exit Form" 
    Then I should see "Record ID 3 successfully added"
    And I logout

    ##VERIFY: Verify email is not in MailHog 
    Given I open Email
    Then I should NOT see "Editing Alerts and Notifications"

    # Login to REDCap
    Given I login to REDCap with the user "Test_User1"
    And I click on the link labeled "My Projects"
    And I click on the link labeled "D.102.100"     
    And I click on the link labeled "Record Status Dashboard"
    When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "3" and click on the bubble
    And I select "Complete" on the dropdown field labeled "Complete?"  
    And I click on the button labeled "Save & Exit Form"
    Then I should see "Record ID 3 successfully edited" 

    Given I click on the link labeled "Alerts & Notifications"
    When I click on the tab labeled "Notification Log"
    And I click on the button labeled "View past notifications"
    Then I should see a table header and rows containing the following values in the a table:
        | Notification send time | Alert    | Record                          | Recipient              | Subject                           | 
        | mm/dd/yyyy hh:mm        | #1 (A-1) | 2 (#1) - Event 1 (Arm 1: Arm 1) | test_user2@example.com | Alerts and Notifications         |
        | mm/dd/yyyy hh:mm        | #1 (A-1) | 3 (#1) - Event 1 (Arm 1: Arm 1) | test_user3@example.com | Editing Alerts and Notifications |
   
    And I logout

   ##VERIFY: Sent email in MailHog 
    Given I open Email
    Then I should see an email for user "test_user3@example.com" with subject "Editing Alerts and Notifications"
 
Scenario: D.102.500 - Copy alert
    Given I login to REDCap with the user "Test_User1"
    When I click on the link labeled "My Projects"
    And I click on the link labeled "D.102.100"    
    And I click on the link labeled "Alerts & Notifications"
    Then I should NOT see "Alert #2:Email Alert"
    When I click on the button labeled "Options" for alert "1"
    And I click on the link labeled "Copy alert"
    Then I should see "Alert #2:Email Alert"
    When I click on the button labeled "Edit" for alert "2"
    Then I should see "Edit Alert #2" in the dialog box
    And I should see the radio option "When a record is saved on a specific form/survey" for How will this alert be triggered selected
    And I should see "Data Types (Event 1 (Arm 1: Arm 1))"
    And I should see the dropdown field for alert form status with the option "is saved with Complete status only" selected
    And I should see the radio option "Send immediately" for When to send the alert selected
    And I should see the radio option "Just once" for Send it how many times selected
    And I should see the radio option "Email" for Alert Type selected
    And I should see "test_user3@example.com"
    And I should see "Editing Alerts and Notifications"
    And I should see "Testing Editing Alerts and Notifications"
    When I cancel the alert
    Then I should see "Alert #2:Email Alert"

Scenario: D.102.500 - Deactivate alert
    When I click on the button labeled "Options" for alert "2"
    And I click on the link labeled "Deactivate alert"
    Then I should see "Are you sure you want to deactivate this Alert? It can be re-enabled later, if needed."
    When I click on the button labeled "Deactivate" in the dialog box
    Then I should see "Success! The alert was deactivated"
    And I should NOT see "Alert #2:Email Alert"
    When I check the checkbox labeled "Show deactivated alerts"
    Then I should see "Alert #2:Email Alert"
    And I should see "DEACTIVATED: Alert was deactivated"

Scenario: D.102.500 - Re-enable alert
    When I click on the button labeled "Options" for alert "2"
    And I click on the link labeled "Re-enable alert"
    Then I should see "Success! The alert was re-enabled."
    And I should see "No matching records found"
    When I uncheck the checkbox labeled "Show deactivated alerts"
    Then I should see "Alert #1:Email Alert"
    And I should see "Alert #2:Email Alert"

Scenario: D.102.500 - Move alert
    # Edit Subject and Message for alert 2
    Given I click on the button labeled "Edit" for alert "2"
    Then I should see "Edit Alert #2"
    Then I enter "Testing Move Alerts and Notifications" into the alert message
    And I clear field and enter "Move Alerts and Notifications" into the input field labeled "Subject"
    When I save the alert
    Then I should see "Success! The alert was updated."
    # Move alert 1
    Given I click on the button labeled "Options" for alert "1"
    When I click on the link labeled "Move alert"
    And I select "Alert #2: Email Alert (A-2)" on the dropdown field labeled "Move the alert above so that it will be located immediately *AFTER* the following alert:"
    And I click on the button labeled "Move alert" in the dialog box
    Then I should see "The alert was successfully moved to a new location!" in the dialog box
    And I should see "PLEASE NOTE that moving this alert may have caused some or all of the alerts to be re-numbered automatically. They will still retain their same alert title and unique alert ID, but their alert number (#) may have changed because alert numbers are generated on the fly based on the order of the alerts." in the dialog box
    And I click on the button labeled "Close" in the dialog box
    # VERIFY
    When I click on the button labeled "Edit" for alert "1"
    Then I should see "Edit Alert #1"
    And I should see "Move Alerts and Notifications"
    And I cancel the alert
    When I click on the button labeled "Edit" for alert "2"
    Then I should see "Edit Alert #2"
    And I should see "Editing Alerts and Notifications"
    And I cancel the alert

Scenario: D.102.500 - Permanently delete alert
    Given I click on the button labeled "Options" for alert "1"
    And I click on the link labeled "Deactivate alert"
    Then I should see "Are you sure you want to deactivate this Alert? It can be re-enabled later, if needed."
    When I click on the button labeled "Deactivate" in the dialog box
    Then I should see "Success! The alert was deactivated"
    And I should NOT see "Alert #1:Email Alert"
    When I check the checkbox labeled "Show deactivated alerts"
    Then I should see "Alert #1:Email Alert"
    And I should see "DEACTIVATED: Alert was deactivated"
    And I should see "Move Alerts and Notifications"
    When I click on the button labeled "Options" for alert "1"
    And I click on the link labeled "Permanently delete"
    Then I should see "Are you sure you want to delete this Alert?"
    And I should see "This will permanently delete the Alert."
    And I click on the button labeled "Delete" in the dialog box
    Then I should see "Success! The alert was permanently deleted."
    And I should see a checkbox labeled "Show deactivated alerts" that is unchecked
    And I should see "Alert #1:Email Alert"
    And I should see "Editing Alerts and Notifications"
    When I check the checkbox labeled "Show deactivated alerts"
    Then I should see "No matching records found"

    #VERIFY_LOG: Logging Table
    Given I click on the link labeled "Logging"
    Then I should see a table header and rows containing the following values in the logging table:
        | Time / Date      | Username   | Action                                       | List of Data Changes OR Fields Exported                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |  
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design Permanently delete alert       | Alert #1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                        
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design Deactivate  alert              | Alert #1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                        
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design Move alert                     | Alert #1: Email Alert (A-1)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |                        
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design Reactivate  alert              | Alert #2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                        
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design Deactivate alert               | Alert #2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |                        
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design Copy alert                     | Alert #2 copied from Alert #1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |                        
        | mm/dd/yyyy hh:mm | test_user1 | Sent alert Record 3 (Event 1 (Arm 1: Arm 1)) | Alert #1, From: 'Test_User1@test.edu', To: 'test_user3@example.com', Subject: 'Editing Alerts and Notifications', Message: Testing Editing Alerts and Notifications'                                                                                                                                                                                                                                                                                                                                                                                                                              |                        
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design Modify alert                   | Alert #1, alert_title = 'Email Alert', alert_type = 'EMAIL', alert_stop_type = 'RECORD', alert_expiration = '', form_name = 'data_types', form_name_event = 'event_1_arm_1', alert_condition = '', ensure_logic_still_true = 'no', prevent_piping_identifiers = 'yes', trigger_on_instrument_save_status = 'any_status', email_from = 'Test_User1@test.edu', email_from_display = '', email_to = 'test_user3@example.com', phone_number_to = '', email_cc = '', email_bcc = '', email_subject = 'Editing Alerts and Notifications', alert_message = 'Testing Editing Alerts and Notifications'    | 
        | mm/dd/yyyy hh:mm | test_user1 | Sent alert Record 2 (Event 1 (Arm 1: Arm 1)) | Alert #1, From: 'Test_User1@test.edu', To: 'test_user2@example.com', Subject: 'Alerts and Notifications', Message: 'Testing Alerts and Notifications'                                                                                                                                                                                                                                                                                                                                                                                                                                              | 
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design Create alert                   | Alert #1, alert_title = 'Email Alert', alert_type = 'EMAIL', alert_stop_type = 'RECORD', alert_expiration = '', form_name = 'data_types', form_name_event = 'event_1_arm_1', alert_condition = '', ensure_logic_still_true = 'no', prevent_piping_identifiers = 'yes', trigger_on_instrument_save_status = 'complete_status_only', email_from = 'Test_User1@test.edu', email_from_display = '', email_to = 'test_user2@example.com', phone_number_to = '', email_cc = '', email_bcc = '', email_subject = 'Alerts and Notifications', alert_message = 'Testing Alert and Notifications',            | 

    And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.200%20-%20REDUNDANT.feature

Feature: D.102.200 - The system shall support the ability to send emails when a record is saved on a specific form/survey with Complete Status Only

This feature test is REDUNDANT and can be viewed in D.102.100.

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.300%20-%20Alerts%20Based%20on%20Conditional%20Logic.feature

Feature: D.102.300 - The system shall support the ability to send emails If conditional logic is TRUE when a record is saved on a specific form/survey

As a REDCap end user
I want to see that Alerts and Notifications is functioning as expected

Scenario: D.102.300 Send emails If conditional logic is TRUE when a record is saved on a specific form/survey.
    Given I login to REDCap with the user "Test_User1"   
    And I create a new project named "D.102.300" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val.xml", and clicking the "Create Project" button
    When I click on the link labeled "Designer"
    And I click on the instrument labeled "Data Types"
    And I click on the Edit image for the field named "Text Box"
    And I click on the textarea labeled "Action Tags / Field Annotation"
    Then I clear field and enter "@CALCTEXT(if([ptname] != '', 'Pass', 'Fail'))" in the textarea field labeled "Logic Editor" in the dialog box
    And I click on the button labeled "Update & Close Editor"
    And I click on the button labeled "Save"

    When I click on the link labeled "Alerts & Notifications"
    Then I should NOT see "Alert #1:Email Alert"
    And I click on the button labeled "Add New Alert"
    Then I should see "Create new alert"
    And I enter "Email-Alert" into the input field labeled "Title of this alert"
    And I select the radio option "If conditional logic is TRUE when a record is saved on a specific form/survey" for How will this alert be triggered
    And I select '"Data Types" (Event 1 (Arm 1: Arm 1))' on the dropdown field for alert form name
    And I should see the dropdown field for alert form status with the option "is saved with any form status" selected
    And I click on the textarea labeled while the following logic is true for the alert
    And I clear field and enter "[textbox]='Pass'" in the textarea field labeled "Logic Editor" in the dialog box
    And I click on the button labeled "Update & Close Editor"
    And I check the checkbox labeled "Ensure logic is still true before sending notification?"
    And I should see the radio option "Send immediately" for When to send the alert selected
    And I should see the radio option "Just once" for Send it how many times selected
    And I should see the radio option "Email" for Alert Type selected
    Then I enter "Testing-Alerts-and-Notifications" into the alert message
    And I enter "Alerts-and-Notifications" into the input field labeled "Subject"
    And I enter "test_user2@example.com" into the input field labeled "Email To"
    When I save the alert
    Then I should see "Success! New alert created"
    And I should see "Alert #1:Email-Alert"
        
    Given I click on the link labeled "Add / Edit Records"
    And I click on the button labeled "Add new record for the arm selected above"
    When I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
    Then I should see "Fail" in the data entry form field "Text Box"
    And I click on the button labeled "Save & Exit Form"
    And I should see "Record ID 2 successfully added"
    And I logout

    ##VERIFY: Verify email is not in MailHog 
    Given I open Email
    Then I should NOT see "Alerts-and-Notifications"
    
    # Login to REDCap
    Given I login to REDCap with the user "Test_User1"
    When I click on the link labeled "My Projects"
    And I click on the link labeled "D.102.300"
    And I click on the link labeled "Alerts & Notifications"
    When I click on the tab labeled "Notification Log"
    Then I should see "No notifications to list"
    When I click on the button labeled "View past notifications"
    Then I should see "No notifications to list"

    Given I click on the link labeled "Record Status Dashboard"
    And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2" and click on the bubble
    Then I should see "Fail" in the data entry form field "Text Box"
    When I enter "User2" into the input field labeled "Name"
    And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
    Then I should see "Pass" in the data entry form field "Text Box"
    And I click on the button labeled "Cancel"
    
    Given I click on the link labeled "Alerts & Notifications"
    When I click on the tab labeled "Notification Log"
    And I click on the button labeled "View past notifications"
    Then I should see a table header and rows containing the following values in the a table:
        | Notification send time | Alert    | Record                          | Recipient              | Subject                  | 
        | mm/dd/yyyy hh:mm       | #1 (A-1) | 2 (#1) - Event 1 (Arm 1: Arm 1) | test_user2@example.com | Alerts-and-Notifications |
   
    And I logout

    ##VERIFY: Verify email in MailHog 
    Given I open Email
    Then I should see an email for user "test_user2@example.com" with subject "Alerts-and-Notifications"

Scenario: D.102.600 - Verify Download alert settings
    Given I login to REDCap with the user "Test_User1"
    When I click on the link labeled "My Projects"
    And I click on the link labeled "D.102.300"
    And I click on the link labeled "Alerts & Notifications"
    When I click on the button labeled "Upload or download Alerts"
    Then I should see "Upload Alerts (CSV)"
    And I click on the link labeled "Download Alerts (CSV)"
    Then I should have the latest downloaded "csv" file that contains the headings and rows below
        | alert-unique-id | alert-title | alert-trigger | unique-form-name | unique-event-name | saved-with-form-status | alert-condition  | ensure-logic-still-true | alert-stop-type | send-on | send-on-next-day-type | send-on-next-time | send-on-time-lag-days | send-on-time-lag-hours | send-on-time-lag-minutes | send-on-field-after | send-on-field | send-on-date | alert-send-how-many | every-time-type | repeat-for | repeat-for-units | repeat-for-max | alert-expiration | alert-type | email-from-display  | email-from          | email-to               | email-cc | email-bcc | email-failed | email-subject            | alert-message                           | sendgrid-template-id | sendgrid-template-data | sendgrid-mail-send-configuration | prevent-piping-identifiers | file-upload-fields | phone-number-to | alert-deactivated |
        | A-1             | Email-Alert | SUBMIT-LOGIC  | data_types       | event_1_arm_1     | ANY                    | [textbox]='Pass' | Y                       | RECORD          | NOW     |                       |                   |                       |                        |                          |                     |               |              | ONCE                |                 |            |                  |                |                  | EMAIL      |                     | Test_User1@test.edu | test_user2@example.com |          |           |              | Alerts-and-Notifications | <p>Testing-Alerts-and-Notifications</p> |                      | {}                     | {}                               | Y                          |                    |                 | N                 |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.400%20-%20Alerts%20Based%20on%20Conditional%20Logic%20During%20Import.feature

Feature: D.102.400 - The system shall support the ability to send emails When conditional logic is TRUE during a data import, data entry, or as the result of time-based logic

As a REDCap end user I want to see that Alerts and Notifications is functioning as expected

Scenario: D.102.400 Send emails When conditional logic is TRUE during a data import, data entry, or as the result of time-based logic. Given I login to REDCap with the user “Test_User1”
And I create a new project named “D.102.400” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

# D.102.600 - Upload alert settings
When I click on the link labeled "Alerts & Notifications"
Then I should NOT see "Alert #1:Email Alert"
Given I click on the button labeled "Upload or download Alerts"
Then I should see "Upload Alerts (CSV)"
And I click on the link labeled "Upload Alerts (CSV)"
Then I should see a dialog containing the following text: "Upload Alerts (CSV)"
When I upload a "csv" format file located at "import_files/redcap_val/D102400_Alerts.csv", by clicking the button near "Select your CSV file of Alerts to be added:" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see a dialog containing the following text: "Upload Alerts (CSV) - Confirm"
And I should see a table header and rows containing the following values in the a table:
  | alert-title | alert-trigger |
  | Email Alert | LOGIC         |

Given I click on the button labeled "Upload" in the dialog box
Then I should see a dialog containing the following text: "SUCCESS!"
And I click on the button labeled "Close" in the dialog box
And I should see "Alert #1:Email Alert"
  
##ACTION: Import (with records in rows)
Given I click on the link labeled "Data Import Tool"
When I upload a "csv" format file located at "import_files/redcap_val/D.102.400_DataImport.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and is ready for review"
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

Given I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2" and click on the bubble
Then I should see "" in the data entry form field "Name"
And I should see "test_user1@abc.com" in the data entry form field "Email"
And I click on the button labeled "Cancel"
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "3" and click on the bubble
Then I should see "User2" in the data entry form field "Name"
And I should see "test_user2@abc.com" in the data entry form field "Email"
And I click on the button labeled "Cancel"

Given I click on the link labeled "Alerts & Notifications"
When I click on the tab labeled "Notification Log"
And I click on the button labeled "View past notifications"
Then I should see a table header and rows containing the following values in the a table:
    | Notification send time | Alert    | Record                     | Recipient          | Subject                  | 
    | mm/dd/yyyy hh:mm       | #1 (A-2) | 3 - Event 1 (Arm 1: Arm 1) | test_user2@abc.com | Alerts and Notifications |

##VERIFY: Verify email in MailHog 
Given I open Email
Then I should see an email for user "test_user2@abc.com" with subject "Alerts and Notifications"
And I should NOT see "test_user1@abc.com"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.500%20-%20REDUNDANT.feature

Feature: D.102.500 - The system shall support the ability to copy, deactivate, reactivate, move and permanently delete alerts and notifications

This feature test is REDUNDANT and can be viewed in D.102.100.

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Alerts%20and%20Notifications_102/D.102.600%20-%20REDUNDANT.feature

Feature: D.102.600 - The system shall support the ability to upload/download the settings of alerts and notifications

This feature test is REDUNDANT and can be viewed in D.102.300 and D.102.400

Comments:

Comment:

Author: MintooXavier Updated on: 10/14/2024 10:01:54 AM

Comment body:

@rukayat-yakub : 1. Could you add logging(audit trail) verification at the end of this script. We only need the logs which are specific to the feature and not the whole log. e.g.. When alerts are created, editing etc and not data entry or project creating logs. I am happy to explain this over a call if needed. e.g. e.g. of logging: Alert # 1, alert_title = ’‘, alert_type = ’EMAIL’, alert_stop_type = ‘RECORD’, alert_expiration = ’‘, form_name = ’text_validation’, > Put the full entry of the last column
2. Create a scenario to delete 1 alert and check logging. Logging can be done at the end of the script after delete scenario. Check for create alert, modify alert, send alert, delete alert. (i.e. logging specific to alerts)

Comment edits:

Created: 10/14/2024 10:01:54 AM Edited on: 10/14/2024 10:01:54 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@rukayat-yakub : 1. Could you add logging(audit trail) verification at the end of this script. We only need the logs which are specific to the feature and not the whole log. e.g.. When alerts are created, editing etc and not data entry or project creating logs. I am happy to explain this over a call if needed. e.g. e.g. of logging: Alert # 1, alert_title = ’‘, alert_type = ’EMAIL’, alert_stop_type = ‘RECORD’, alert_expiration = ’‘, form_name = ’text_validation’, > Put the full entry of the last column 2. Create a scenario to delete 1 alert and check logging. Logging can be done at the end of the script after delete scenario. Check for create alert, modify alert, send alert, delete alert. (i.e. logging specific to alerts)

Created: 10/14/2024 9:33:58 AM Edited on: 10/14/2024 9:33:58 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@rukayat-yakub : 1. Could you add logging(audit trail) verification at the end of this script. We only need the logs which are specific to the feature and not the whole log. e.g.. When alerts are created, editing etc and not data entry or project creating logs. I am happy to explain this over a call if needed. e.g. e.g. of logging: Alert # 1, alert_title = ’‘, alert_type = ’EMAIL’, alert_stop_type = ‘RECORD’, alert_expiration = ’‘, form_name = ’text_validation’, > Put the full entry in the last column 2. Create a scenario to delete 1 alert and check logging

Created: 10/14/2024 9:32:31 AM Edited on: 10/14/2024 9:32:31 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@rukayat-yakub : 1. Could you add logging(audit trail) verification at the end of this script. We only need the logs which are specific to the feature and not the whole log. e.g.. When alerts are created, editing etc and not data entry or project creating logs. I am happy to explain this over a call if needed. e.g. e.g. of logging: Alert # 1, alert_title = ’‘, alert_type = ’EMAIL’, alert_stop_type = ‘RECORD’, alert_expiration = ’‘, form_name = ’text_validation’, 2. Create a scenario to delete 1 alert and check logging

Created: 10/14/2024 9:31:19 AM Edited on: 10/14/2024 9:31:19 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@rukayat-yakub : 1. Could you add logging(audit trail) verification at the end of this script. We only need the logs which are specific to the feature and not the whole log. e.g.. When alerts are created, editing etc and not data entry or project creating logs. I am happy to explain this over a call if needed. e.g. e.g. of logging: Alert #1, alert_title = ’‘, alert_type = ’EMAIL’, alert_stop_type = ‘RECORD’, alert_expiration = ’‘, form_name = ’text_validation’, 2. Create a scenario to delete 1 alert and check logging

Created: 10/14/2024 9:30:33 AM Edited on: 10/14/2024 9:30:33 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@rukayat-yakub : 1. Could you add logging(audit trail) verification at the end of this script. We only need the logs which are specific to the feature and not the whole log. e.g.. When alerts are created, editing etc and not data entry or project creating logs. I am happy to explain this over a call if needed 2. Create a scenario to delete 1 alert and check logging e.g. of logging: Alert #1, alert_title = ’‘, alert_type = ’EMAIL’, alert_stop_type = ‘RECORD’, alert_expiration = ’‘, form_name = ’text_validation’,

Created: 10/14/2024 9:24:00 AM Edited on: 10/14/2024 9:24:00 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@rukayat-yakub : 1. Could you add logging(audit trail) verification at the end of this script. We only need the logs which are specific to the feature and not the whole log. e.g.. When alerts are created, editing etc and not data entry or project creating logs. I am happy to explain this over a call if needed 2. Create a scenario to delete 1 alert and check logging

Created: 10/14/2024 9:24:00 AM Edited on: 10/14/2024 9:10:18 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@rukayat-yakub : Could you add logging(audit trail) verification at the end of this script. We only need the logs which are specific to the feature and not the whole log. e.g.. When alerts are created, editing etc and not data entry or project creating logs. I am happy to explain this over a call if needed

Comment:

Author: rukayat-yakub Updated on: 10/15/2024 7:18:24 PM

Comment body:

@MintooXavier - Done. Kindly review when you can

Comment:

Author: MintooXavier Updated on: 11/1/2024 10:51:09 AM

Comment body:
  1. Not tested the following:
  1. restructure the script and split it into different scripts.
  2. Modified step definitions
  3. Modified logging

Comment edits:

Created: 11/1/2024 10:51:09 AM Edited on: 11/1/2024 10:51:09 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Not tested the following:
  • Copy alert
  • Re-enable alert
  • Move alert
  • Permanently delete alert
  1. restructure the script and split it into different scripts.
  2. Modified step definitions
  3. Modified logging

Created: 11/1/2024 10:51:09 AM Edited on: 10/31/2024 12:16:54 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Not tested the following:
  • Copy alert
  • Re-enable alert
  • Move alert
  • Permanently delete alert
  1. restructure the script and split it into different scripts.
  2. Modified step definitions

Comment:

Author: MintooXavier Updated on: 11/5/2024 12:16:20 PM

Comment body:

Bug:
When selecting the Trigger the alert… when ‘is saved with any form status’, the logging shows ‘trigger_on_instrument_save_status = ’complete_status_only’’

When selecting the Trigger the alert… when ‘is saved with Complete status only’, the logging shows ‘trigger_on_instrument_save_status = ’any_status’’

Bug fixed in version 14.5.5

Comment edits:

Created: 11/5/2024 12:16:20 PM Edited on: 11/5/2024 12:16:20 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Bug: When selecting the Trigger the alert… when ‘is saved with any form status’, the logging shows ‘trigger_on_instrument_save_status = ’complete_status_only’’

When selecting the Trigger the alert… when ‘is saved with Complete status only’, the logging shows ‘trigger_on_instrument_save_status = ’any_status’’

Bug fixed in version 14.5.5

Created: 11/5/2024 12:16:20 PM Edited on: 10/31/2024 3:36:11 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Bug: When selecting the Trigger the alert… when ‘is saved with any form status’, the logging shows ‘trigger_on_instrument_save_status = ’complete_status_only’’

When selecting the Trigger the alert… when ‘is saved with Complete status only’, the logging shows ‘trigger_on_instrument_save_status = ’any_status’’

Comment:

Author: MintooXavier Updated on: 11/1/2024 3:17:40 PM

Comment body:

Spilt the script into 3 scripts.

Scripts pre-reviewed and Tests Pass for all the above scripts except D.102.400

Comment edits:

Created: 11/1/2024 3:17:40 PM Edited on: 11/1/2024 3:17:40 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Spilt the script into 3 scripts.

  • D.102.100 - modified and works now.
  • D.102.200 - Redundant
  • D.102.300 modified and works now
  • D.102.400 - @LawrenceFayers : Could you check if you can make REDCap alert work for data import, and as the result of time-based logic in option ‘When conditional logic is TRUE during a data import, data entry, or as the result of time-based logic’ of Alerts.. Data entry part works fine..
  • D.102.500 - Redundant

Scripts pre-reviewed and Tests Pass for all the above scripts except D.102.400

Created: 11/1/2024 3:17:25 PM Edited on: 11/1/2024 3:17:25 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Spilt the script into 3 scripts.

  • D.102.100 - modified and works now.
  • D.102.200 - Redindant
  • D.102.300 modified and works now
  • D.102.400 - @LawrenceFayers : Could you check if you can make REDCap alert work for data import, and as the result of time-based logic in option ‘When conditional logic is TRUE during a data import, data entry, or as the result of time-based logic’ of Alerts.. Data entry part works fine..
  • D.102.500 - Redundant

Scripts pre-reviewed and Tests Pass for all the above scripts except D.102.400

Created: 11/1/2024 3:17:25 PM Edited on: 11/1/2024 3:15:43 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Spilt the script into 3 scripts. D.102.100 - modified and works now D.102.200 - Redindant D.102.300 modified and works now D.102.400 - @LawrenceFayers : Could you check if you can make REDCap alert work for data import, and as the result of time-based logic in option ‘When conditional logic is TRUE during a data import, data entry, or as the result of time-based logic’ of Alerts.. Data entry works fine.. D.102.500 - Redundant

Comment:

Author: MintooXavier Updated on: 11/8/2024 2:04:16 PM

Comment body:

Lawrence checked and verified the import feature works. It works for me as well now. Maybe some typo error before

D.102.400 - Script modified to verify alert during data import
Script Pre-reviewed and Tests Pass

Comment edits:

Created: 11/8/2024 2:04:16 PM Edited on: 11/8/2024 2:04:16 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Lawrence checked and verified the import feature works. It works for me as well now. Maybe some typo error before

D.102.400 - Script modified to verify alert during data import Script Pre-reviewed and Tests Pass

Created: 11/8/2024 2:04:16 PM Edited on: 11/8/2024 2:02:25 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Lawrence checked and verified the import feature works. It works for me as well now. Maybe some typo error before

D.102.400 - Script modified to verify alert during data import

Comment:

Author: MintooXavier Updated on: 11/13/2024 10:31:54 AM

Comment body:

Scripts Automated:

  1. D.102.100
  2. D.102.200
  3. D.102.300
  4. D.102.400
  5. D.102.500
  6. D.102.600

Comment edits:

Created: 11/13/2024 10:31:54 AM Edited on: 11/13/2024 10:31:54 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Automated:

  1. D.102.100
  2. D.102.200
  3. D.102.300
  4. D.102.400
  5. D.102.500
  6. D.102.600

Created: 11/13/2024 10:31:54 AM Edited on: 11/12/2024 12:48:11 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Automated:

  1. D.102.100 - Alerts and Notification.feature

Timeline events:

LABELLED | User: MintooXavier Created on: 6/5/2024 12:50:30 PM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/5/2024 12:50:30 PM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 8:43:48 AM Assignee: MintooXavier

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:43:38 PM Previous title: 2. Alerts and Notifications Current title: 102. Alerts and Notifications

UNASSIGNED | User: MintooXavier Created on: 9/30/2024 3:09:54 PM Assignee: MintooXavier

ASSIGNED | User: rukayat-yakub Created on: 10/8/2024 11:03:51 PM Assignee: rukayat-yakub

UNASSIGNED | User: MintooXavier Created on: 10/9/2024 10:30:22 AM Assignee: rukayat-yakub

ASSIGNED | User: MintooXavier Created on: 10/9/2024 10:41:02 AM Assignee: rukayat-yakub

ISSUE COMMENT | User: MintooXavier Created on: 10/14/2024 9:10:18 AM Issue comment body:

@rukayat-yakub : 1. Could you add logging(audit trail) verification at the end of this script. We only need the logs which are specific to the feature and not the whole log. e.g.. When alerts are created, editing etc and not data entry or project creating logs. I am happy to explain this over a call if needed. e.g. e.g. of logging: Alert # 1, alert_title = ’‘, alert_type = ’EMAIL’, alert_stop_type = ‘RECORD’, alert_expiration = ’‘, form_name = ’text_validation’, > Put the full entry of the last column
2. Create a scenario to delete 1 alert and check logging. Logging can be done at the end of the script after delete scenario. Check for create alert, modify alert, send alert, delete alert. (i.e. logging specific to alerts)

MENTIONED | User: rukayat-yakub Created on: 10/14/2024 9:10:20 AM

SUBSCRIBED | User: rukayat-yakub Created on: 10/14/2024 9:10:20 AM

ISSUE COMMENT | User: rukayat-yakub Created on: 10/15/2024 7:18:24 PM Issue comment body:

@MintooXavier - Done. Kindly review when you can

MENTIONED | User: MintooXavier Created on: 10/15/2024 7:18:25 PM

SUBSCRIBED | User: MintooXavier Created on: 10/15/2024 7:18:25 PM

ISSUE COMMENT | User: MintooXavier Created on: 10/31/2024 12:16:54 PM Issue comment body:
  1. Not tested the following:
  1. restructure the script and split it into different scripts.
  2. Modified step definitions
  3. Modified logging
ISSUE COMMENT | User: MintooXavier Created on: 10/31/2024 3:36:11 PM Issue comment body:

Bug:
When selecting the Trigger the alert… when ‘is saved with any form status’, the logging shows ‘trigger_on_instrument_save_status = ’complete_status_only’’

When selecting the Trigger the alert… when ‘is saved with Complete status only’, the logging shows ‘trigger_on_instrument_save_status = ’any_status’’

Bug fixed in version 14.5.5

LABELLED | User: MintooXavier Created on: 10/31/2024 3:36:19 PM Label name: Bug Label description: Something isn’t working

LABELLED | User: MintooXavier Created on: 11/1/2024 3:09:20 PM Label name: Enhancement Label description: New feature or request

ISSUE COMMENT | User: MintooXavier Created on: 11/1/2024 3:15:43 PM Issue comment body:

Spilt the script into 3 scripts.

Scripts pre-reviewed and Tests Pass for all the above scripts except D.102.400

MENTIONED | User: LawrenceFayers Created on: 11/1/2024 3:15:45 PM

SUBSCRIBED | User: LawrenceFayers Created on: 11/1/2024 3:15:45 PM

ISSUE COMMENT | User: MintooXavier Created on: 11/8/2024 2:02:25 PM Issue comment body:

Lawrence checked and verified the import feature works. It works for me as well now. Maybe some typo error before

D.102.400 - Script modified to verify alert during data import
Script Pre-reviewed and Tests Pass

UNLABELLED | User: MintooXavier Created on: 11/8/2024 2:02:33 PM Label name: Bug Label description: Something isn’t working

ASSIGNED | User: MintooXavier Created on: 11/11/2024 3:03:01 PM Assignee: MintooXavier

UNLABELLED | User: MintooXavier Created on: 11/12/2024 9:55:09 AM Label name: Enhancement Label description: New feature or request

ISSUE COMMENT | User: MintooXavier Created on: 11/12/2024 12:48:11 PM Issue comment body:

Scripts Automated:

  1. D.102.100
  2. D.102.200
  3. D.102.300
  4. D.102.400
  5. D.102.500
  6. D.102.600

LABELLED | User: MintooXavier Created on: 11/12/2024 12:48:29 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 11/12/2024 12:48:29 PM Label name: Automated Label description:

UNLABELLED | User: MintooXavier Created on: 11/13/2024 10:32:35 AM Label name: Manual Label description:


————— feature ends —————



Feature: 115. Download PDF of Instruments

Id: I_kwDOIaOBn86LWZWt Uid: redcap_cypress-54
Author: MintooXavier Created: 6/6/2024 10:24:09 AM
Assignees: MintooXavier || LawrenceFayers Resource path: /CCTC-team/redcap_cypress/issues/54
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:06:03 PM
Locked: false Participants: MintooXavier || LawrenceFayers || TanDBPRO

Project item body:

Brief description:
PDF of instrument can be downloaded

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/115_download_pdf_of_instruments.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.100%20-%20Download%20PDF%20of%20Instruments.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.200%20-%20Customization%20of%20PDF%20Instruments.feature.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.300%20-%20Download%20PDF%20of%20Instruments%20with%20Record%20Data.feature.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.400%20-%20Download%20PDF%20of%20Instruments%20with%20Record%20Data%20Compact.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.500%20-%20Download%20PDF%20of%20Data%20Entry%20Form.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.600%20-%20Download%20PDF%20of%20Instruments%20of%20All%20Records.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.700%20-%20Download%20PDF%20of%20Instruments%20of%20All%20Records%20Compact.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/115_download_pdf_of_instruments.spec

D.115.100 - The system shall support the ability to download the PDF of instruments
D.115.200 - The system shall support additional customization of PDF of instruments
D.115.300 - The system shall support the ability to download the PDF of record data of all instruments/events
D.115.400 - The system shall support the ability to download the PDF of record data of all instruments/events in a compact mode (fields with data only)
D.115.500 - The system shall support the ability to download the data entry form from within an instrument (instrument contains Record ID)
D.115.600 - The system shall support the ability to download the PDF of data of all instruments/events of all records
D.115.700 - The system shall support the ability to download the PDF of data of all instruments/events in a compact mode (fields with data only) of all records

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.100%20-%20Download%20PDF%20of%20Instruments.feature

Feature: D.115.100 - The system shall support the ability to download the PDF of instruments

As a REDCap end user I want to be able to download a PDF of instruments

Scenario: D.115.100 - Download PDF of Instruments Given I login to REDCap with the user “Test_User1” Then I create a new project named “D.115.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

#VERIFY
When I click on the link labeled "Designer"
And I click on the instrument labeled "Text Validation"
And I click on the Edit image for the field named "Email"
And I enter "email" into the input field labeled "Field Note"
Then I click on the button labeled "Save"
When I click on the link labeled "Project Setup"
And I click on the link labeled "Download PDF of all instruments"
Then I should see a downloaded file named "D115100.pdf"
And I should see the following values in the downloaded PDF
  |                                  |             D.115.100         |
  | Text Validation                  |                               |
  | Record ID                        |                               |
  | Name                             |                               |
  | Email                            |                               |
  |                                  |                (email)        |
  | Data Types                       |                               |
  | Name                             |                               |
  | Text2                            |                               |
  | Text Box                         |                               |
  | Notes Box                        |                               |
  | Calculated Field                 |                               |
  | Multiple Choice Dropdown Auto    | DDChoice1                     |
  |                                  | DDChoice2                     |
  |                                  | DDChoice3                     |
  | Multiple Choice Dropdown Manual  | DDChoice5                     |
  |                                  | DDChoice6                     |
  |                                  | DDChoice7                     |
  | Radio Button Auto                | Choice1                       |
  |                                  | Choice2                       |
  |                                  | Choice.3                      |
  | Radio Button Manual              | Choice99                      |
  |                                  | Choice100                     |
  |                                  | Choice101                     |
  | Checkbox                         | Checkbox                      |
  |                                  | Checkbox2                     |
  |                                  | Checkbox3                     |
  | Signature                        |                               |
  | File Upload                      |                               |
  | Section Break                    |                               |
  | Descriptive Text with File       |                               |
  | [Attachment: "7_image_v913.jpg"] |                               |
  | Required                         |                               |
  | Identifier                       |                               |
  | Identifier                       |                               |
  | Edit Field                       |                               |
  | Section Break                    |                               |
  | Descriptive Text                 |                               |

#VERIFY_LOG
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Download all data entry forms as PDF    |
  
Given I click on the link labeled "Designer"
When I click on the instrument labeled "Data Types"
Then I delete the field named "Signature" 
And I delete the field named "File Upload" 
And I delete the field named "Required" 
And I delete the field named "Descriptive Text with File" 

#VERIFY
Given I click on the link labeled "Project Setup"
When I click on the link labeled "Download PDF of all instruments"
Then I should see a downloaded file named "D115100.pdf"
And I should NOT see the following values in the downloaded PDF
  | Signature                        |
  | File Upload                      |
  | Required                         |
  | Descriptive Text with File       |  
  | [Attachment: "7_image_v913.jpg"] |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.200%20-%20Customization%20of%20PDF%20Instruments.feature.feature

Feature: D.115.200 - The system shall support additional customization of PDF of instruments

As a REDCap end user I want to see that additional customization of PDF of instruments is working as expected

Scenario: Additional customization of PDF of instruments Given I login to REDCap with the user “Test_User1” Then I create a new project named “D.115.200” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button And I click on the link labeled “Project Setup” And I click on the button labeled “Additional customizations” When I check the checkbox labeled “PDF Customizations” And I clear field and enter “CRF Version 1” into the input field labeled “1)” And I select the radio option “Hide REDCap logo/URL and instead display the following text: Powered by REDCap” # 3) is tested in D.116.400 (Secondary Unique Field) # 4) Display Record ID in PDF header And I should see the dropdown field labeled “4)” with the option “Keep it displayed” selected Then I click on the button labeled “Save”

#VERIFY
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click on the button labeled "Choose action for record"
And I click on the link labeled "Download PDF of record data for all instruments/events"
Then I should see a downloaded file named "D115200_yyyy_mm_dd_hhmm.pdf"
And I should see the following values in the downloaded PDF
  | CRF Version 1                    |                               |
  |                                  |      D.115.200                |
  |                                  |      Record ID 1 (Event 1)    |
  | Text Validation                  |                               |
  | Record ID                        |      1                        |
  | Name                             |                               |
  | Email                            |                               |
  | Data Types                       |                               |
  | Name                             |                               |
  | Text2                            |                               |
  | Text Box                         |                               |
  | Notes Box                        |                               |
  | Calculated Field                 |      6                        |
  | Multiple Choice Dropdown Auto    | DDChoice1                     |
  |                                  | DDChoice2                     |
  |                                  | DDChoice3                     |
  | Multiple Choice Dropdown Manual  | DDChoice5                     |
  |                                  | DDChoice6                     |
  |                                  | DDChoice7                     |
  | Radio Button Auto                | Choice1                       |
  |                                  | Choice2                       |
  |                                  | Choice.3                      |
  | Radio Button Manual              | Choice99                      |
  |                                  | Choice100                     |
  |                                  | Choice101                     |
  | Checkbox                         | Checkbox                      |
  |                                  | Checkbox2                     |
  |                                  | Checkbox3                     |
  | Signature                        |                               |
  | File Upload                      |                               |
  | Section Break                    |                               |
  | Descriptive Text with File       |                               |
  | [Attachment: "7_image_v913.jpg"] |                               |
  | Required                         |                               |
  | Identifier                       |                               |
  | Identifier                       |                               |
  | Edit Field                       |                               |
  | Section Break                    |                               |
  | Descriptive Text                 |                               |
  |                                  | Powered by REDCap             |

#VERIFY_LOG
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action                        | List of Data Changes OR Fields Exported          |
  | mm/dd/yyyy hh:mm | test_user1 | PDF Export with data Record 1 | Download all data entry forms as PDF (with data) |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design                 | Make project customizations                      |

Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I clear field and enter "CRF Version 2" into the input field labeled "1)"
And I select the radio option "Display REDCap logo and website URL (default)"
# 4) Hide Record ID from PDF header
And I select "Hide it" on the dropdown field labeled "4)"
When I click on the button labeled "Save"

#VERIFY
Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
When I click on the button labeled "Choose action for record"
And I click on the link labeled "Download PDF of record data for all instruments/events"
Then I should see a downloaded file named "D115200_yyyy_mm_dd_hhmm.pdf"
And I should see the following values in the downloaded PDF
  | CRF Version 2                    |                               |
  |                                  |      D.115.200                |
  | Text Validation                  |                               |
  | Record ID                        |      1                        |
  | Name                             |                               |
  | Email                            |                               |
  | Data Types                       |                               |
  | Name                             |                               |
  | Text2                            |                               |
  | Text Box                         |                               |
  | Notes Box                        |                               |
  | Calculated Field                 |      6                        |
  | Multiple Choice Dropdown Auto    | DDChoice1                     |
  |                                  | DDChoice2                     |
  |                                  | DDChoice3                     |
  | Multiple Choice Dropdown Manual  | DDChoice5                     |
  |                                  | DDChoice6                     |
  |                                  | DDChoice7                     |
  | Radio Button Auto                | Choice1                       |
  |                                  | Choice2                       |
  |                                  | Choice.3                      |
  | Radio Button Manual              | Choice99                      |
  |                                  | Choice100                     |
  |                                  | Choice101                     |
  | Checkbox                         | Checkbox                      |
  |                                  | Checkbox2                     |
  |                                  | Checkbox3                     |
  | Signature                        |                               |
  | File Upload                      |                               |
  | Section Break                    |                               |
  | Descriptive Text with File       |                               |
  | [Attachment: "7_image_v913.jpg"] |                               |
  | Required                         |                               |
  | Identifier                       |                               |
  | Identifier                       |                               |
  | Edit Field                       |                               |
  | Section Break                    |                               |
  | Descriptive Text                 |                               |
  |                                  | projectredcap.org             |
  
And I should NOT see the following values in the downloaded PDF
  | Record ID 1 (Event 1) |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.300%20-%20Download%20PDF%20of%20Instruments%20with%20Record%20Data.feature.feature

Feature: D.115.300 - The system shall support the ability to download the PDF of record data of all instruments/events

As a REDCap end user I want to see that download PDF of record data of all instruments/events is working as expected

Scenario: Download PDF of record data of all instruments/events Given I login to REDCap with the user “Test_User1” Then I create a new project named “D.115.300” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

And I click on the link labeled "Project Setup"
And I click on the button labeled "Designate Instruments for My Events"
When I click on the button labeled "Begin Editing"
And I enable the Data Collection Instrument named "Text Validation" for the Event named "Event 2"
And I enable the Data Collection Instrument named "Text Validation" for the Event named "Event Three"
And I click on the button labeled "Save" on the Designate Instruments for My Events page
Then I verify the Data Collection Instrument named "Text Validation" is enabled for the Event named "Event 2"
And I verify the Data Collection Instrument named "Text Validation" is enabled for the Event named "Event Three"

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 2" for record ID "1" and click on the bubble
Then I enter "Joe" into the input field labeled "Name"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 1 successfully edited."

Given I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event Three"
Then I enter "John" into the input field labeled "Name"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument

#VERIFY
Given I click on the button labeled "Choose action for record"
And I click on the link labeled "Download PDF of record data for all instruments/events"
Then I should see a downloaded file named "D115300_yyyy_mm_dd_hhmm.pdf"
And I should see the following values in the downloaded PDF
  |                                  |      D.115.300                |
  |                                  |      Record ID 1 (Event 1)    |
  | Text Validation                  |                               |
  | Record ID                        |       1                       |
  | Name                             |                               |
  | Email                            |                               |
  |                                  |     Record ID 1 (Event Three) | 
  | Text Validation                  |                               |
  | Record ID                        |       1                       |
  | Name                             |       John                    |
  | Email                            |                               |
  |                                  |      Record ID 1 (Event 1)    |
  | Data Types                       |                               |
  | Name                             |                               |
  | Text2                            |                               |
  | Text Box                         |                               |
  | Notes Box                        |                               |
  | Calculated Field                 |      6                        |
  | Multiple Choice Dropdown Auto    | DDChoice1                     |
  |                                  | DDChoice2                     |
  |                                  | DDChoice3                     |
  | Multiple Choice Dropdown Manual  | DDChoice5                     |
  |                                  | DDChoice6                     |
  |                                  | DDChoice7                     |
  | Radio Button Auto                | Choice1                       |
  |                                  | Choice2                       |
  |                                  | Choice.3                      |
  | Radio Button Manual              | Choice99                      |
  |                                  | Choice100                     |
  |                                  | Choice101                     |
  | Checkbox                         | Checkbox                      |
  |                                  | Checkbox2                     |
  |                                  | Checkbox3                     |
  | Signature                        |                               |
  | File Upload                      |                               |
  | Section Break                    |                               |
  | Descriptive Text with File       |                               |
  | [Attachment: "7_image_v913.jpg"] |                               |
  | Required                         |                               |
  | Identifier                       |                               |
  | Identifier                       |                               |
  | Edit Field                       |                               |
  | Section Break                    |                               |
  | Descriptive Text                 |                               |
  |                                  |     Record ID 1 (Event 2)     | 
  | Text Validation                  |                               |
  | Record ID                        |       1                       |
  | Name                             |       Joe                     |
  | Email                            |                               |

#VERIFY_LOG
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action                        | List of Data Changes OR Fields Exported          |
  | mm/dd/yyyy hh:mm | test_user1 | PDF Export with data Record 1 | Download all data entry forms as PDF (with data) |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.400%20-%20Download%20PDF%20of%20Instruments%20with%20Record%20Data%20Compact.feature

Feature: D.115.400 - The system shall support the ability to download the PDF of record data of all instruments/events in a compact mode (fields with data only)

As a REDCap end user I want to see that download PDF of record data of all instruments/events (compact) is working as expected

Scenario: Download PDF of record data of all instruments/events (compact) Given I login to REDCap with the user “Test_User1” Then I create a new project named “D.115.400” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

And I click on the link labeled "Project Setup"
And I click on the button labeled "Designate Instruments for My Events"
When I click on the button labeled "Begin Editing"
And I enable the Data Collection Instrument named "Text Validation" for the Event named "Event 2"
And I enable the Data Collection Instrument named "Text Validation" for the Event named "Event Three"
And I click on the button labeled "Save" on the Designate Instruments for My Events page
Then I verify the Data Collection Instrument named "Text Validation" is enabled for the Event named "Event 2"
And I verify the Data Collection Instrument named "Text Validation" is enabled for the Event named "Event Three"

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Text Validation" instrument on event "Event 2" for record ID "1" and click on the bubble
Then I enter "Joe" into the input field labeled "Name"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument

Given I click the bubble to select a record for the "Text Validation" longitudinal instrument on event "Event Three"
Then I enter "John" into the input field labeled "Name"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument

Given I click on the button labeled "Choose action for record"
And I click on the link labeled "Download PDF of record data for all instruments/events (compact)"
Then I should see a downloaded file named "D115400_yyyy_mm_dd_hhmm.pdf"
And I should see the following values in the downloaded PDF
  |                                  |      D.115.400                |
  |                                  |      Record ID 1 (Event 1)    |
  | Text Validation                  |                               |
  | Record ID                        |       1                       |
  |                                  |     Record ID 1 (Event Three) | 
  | Text Validation                  |                               |
  | Record ID                        |       1                       |
  | Name                             |       John                    |
  |                                  |      Record ID 1 (Event 1)    |
  | Data Types                       |                               |
  | Calculated Field                 |      6                        |
  | Section Break                    |                               |
  | Descriptive Text with File       |                               |
  | [Attachment: "7_image_v913.jpg"] |                               |
  | Section Break                    |                               |
  | Descriptive Text                 |                               |
  |                                  |     Record ID 1 (Event 2)     | 
  | Text Validation                  |                               |
  | Record ID                        |       1                       |
  | Name                             |       Joe                     |

# Checking for Email thrice doesn't work as expected in ATS as it might just check the first Email row for all 3 entries. 
# But keeping it for manual testing. Same with Identifier field.
# Not verifying Name fields in Text Validation and Data Types in Record ID 1 (Event 1) as ATS will fail. Name is present with values of Joe and John in PDF
And I should NOT see the following values in the downloaded PDF
  | Email                            | 
  | Email                            |
  | Text2                            |
  | Text Box                         |
  | Notes Box                        |
  | Multiple Choice Dropdown Auto    |
  | Multiple Choice Dropdown Manual  |
  | Radio Button Auto                |
  | Radio Button Manual              |
  | Checkbox                         |
  | Signature                        |
  | File Upload                      |
  | Required                         |
  | Identifier                       |
  | Identifier                       |
  | Edit Field                       |
  | Email                            |

#VERIFY_LOG
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action                        | List of Data Changes OR Fields Exported          |
  | mm/dd/yyyy hh:mm | test_user1 | PDF Export with data Record 1 | Download all data entry forms as PDF (with data) |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.500%20-%20Download%20PDF%20of%20Data%20Entry%20Form.feature

Feature: D.115.500 - The system shall support the ability to download the data entry form from within an instrument (instrument contains Record ID)

As a REDCap end user I want to be able to download the data entry form from within an instrument

Scenario: Download data entry form from within an instrument Given I login to REDCap with the user “Test_User1” Then I create a new project named “D.115.500” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

#VERIFY
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
And I click on the button labeled "Download PDF of instrument(s)"
And I click on the link labeled "This data entry form (blank)"
Then I should see a downloaded file named "DataTypes_D115500.pdf"
And I should see the following values in the downloaded PDF
    |                                  |             D.115.500         |
    | Data Types                       |                               |
    | Record ID                        |                               |
    | Name                             |                               |
    | Text2                            |                               |
    | Text Box                         |                               |
    | Notes Box                        |                               |
    | Calculated Field                 |                               |
    | Multiple Choice Dropdown Auto    | DDChoice1                     |
    |                                  | DDChoice2                     |
    |                                  | DDChoice3                     |
    | Multiple Choice Dropdown Manual  | DDChoice5                     |
    |                                  | DDChoice6                     |
    |                                  | DDChoice7                     |
    | Radio Button Auto                | Choice1                       |
    |                                  | Choice2                       |
    |                                  | Choice.3                      |
    | Radio Button Manual              | Choice99                      |
    |                                  | Choice100                     |
    |                                  | Choice101                     |
    | Checkbox                         | Checkbox                      |
    |                                  | Checkbox2                     |
    |                                  | Checkbox3                     |
    | Signature                        |                               |
    | File Upload                      |                               |
    | Section Break                    |                               |
    | Descriptive Text with File       |                               |
    | [Attachment: "7_image_v913.jpg"] |                               |
    | Required                         |                               |
    | Identifier                       |                               |
    | Identifier                       |                               |
    | Edit Field                       |                               |
    | Section Break                    |                               |
    | Descriptive Text                 |                               |

#VERIFY_LOG
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Download data entry form as PDF         |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.600%20-%20Download%20PDF%20of%20Instruments%20of%20All%20Records.feature

Feature: D.115.600 - The system shall support the ability to download the PDF of data of all instruments/events of all records

As a REDCap end user I want to be able to download the PDF of data of all instruments/events of all records

Scenario: Download PDF of data of all instruments/events of all records Given I login to REDCap with the user “Test_User1” Then I create a new project named “D.115.600” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
And I enter "Dave" into the data entry form field labeled "Name"
Then I enter "dave@abc.com" into the data entry form field labeled "Email"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 1 successfully edited."

Given I click on the link labeled "Record Status Dashboard"
And I click on the button labeled "Add new record for this arm"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 2"
And I enter "Paul" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 2 successfully added."

Given I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the tab labeled "Other Export Options"
When I click on the icon PDF to download PDF of data collection instruments containing saved data
Then I should see a downloaded file named "D115600_yyyy_mm_dd_hhmm.pdf"
And I should see the following values in the downloaded PDF
  |                                  |      D.115.600                |
  |                                  |      Record ID 1 (Event 1)    |
  | Text Validation                  |                               |
  | Record ID                        |       1                       |
  | Name                             |       Dave                    |
  | Email                            |       dave@abc.com            |
  |                                  |     Record ID 1 (Event 1)     | 
  | Data Types                       |                               |
  | Name                             |                               |
  | Text2                            |                               |
  | Text Box                         |                               |
  | Notes Box                        |                               |
  | Calculated Field                 |         6                     |
  | Multiple Choice Dropdown Auto    | DDChoice1                     |
  |                                  | DDChoice2                     |
  |                                  | DDChoice3                     |
  | Multiple Choice Dropdown Manual  | DDChoice5                     |
  |                                  | DDChoice6                     |
  |                                  | DDChoice7                     |
  | Radio Button Auto                | Choice1                       |
  |                                  | Choice2                       |
  |                                  | Choice.3                      |
  | Radio Button Manual              | Choice99                      |
  |                                  | Choice100                     |
  |                                  | Choice101                     |
  | Checkbox                         | Checkbox                      |
  |                                  | Checkbox2                     |
  |                                  | Checkbox3                     |
  | Signature                        |                               |
  | File Upload                      |                               |
  | Section Break                    |                               |
  | Descriptive Text with File       |                               |
  | [Attachment: "7_image_v913.jpg"] |                               |
  | Required                         |                               |
  | Identifier                       |                               |
  | Identifier                       |                               |
  | Edit Field                       |                               |
  | Section Break                    |                               |
  | Descriptive Text                 |                               |
  |                                  |      Record ID 2 (Event 1)    |
  | Text Validation                  |                               |
  | Record ID                        |       2                       |
  | Name                             |       Paul                    |
  | Email                            |                               |

#VERIFY_LOG
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported            |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Download all data entry forms as PDF (all records) |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Download%20PDF%20of%20Instruments_115/D.115.700%20-%20Download%20PDF%20of%20Instruments%20of%20All%20Records%20Compact.feature

Feature: D.115.700 - The system shall support the ability to download the PDF of data of all instruments/events in a compact mode (fields with data only) of all records

As a REDCap end user I want to be able to download the PDF of data of all instruments/events (compact mode) of all records

Scenario: Download PDF of data of all instruments/events (compact mode) of all records Given I login to REDCap with the user “Test_User1” Then I create a new project named “D.115.700” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
And I enter "Dave" into the data entry form field labeled "Name"
Then I enter "dave@abc.com" into the data entry form field labeled "Email"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument

Given I click on the link labeled "Record Status Dashboard"
And I click on the button labeled "Add new record for this arm"
And I click the bubble to add a record for the "Text Validation" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 2"
And I enter "Paul" into the data entry form field labeled "Name"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 2 successfully added."

Given I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the tab labeled "Other Export Options"
When I click on the icon Compact PDF to download PDF of data collection instruments containing saved data 
Then I should see a downloaded file named "D115700_yyyy_mm_dd_hhmm.pdf"
And I should see the following values in the downloaded PDF
  |                                  |      D.115.700                |
  |                                  |      Record ID 1 (Event 1)    |
  | Text Validation                  |                               |
  | Record ID                        |       1                       |
  | Name                             |       Dave                    |
  | Email                            |       dave@abc.com            |
  |                                  |     Record ID 1 (Event 1)     | 
  | Data Types                       |                               |
  | Calculated Field                 |         6                     |
  | Section Break                    |                               |
  | Descriptive Text with File       |                               |
  | [Attachment: "7_image_v913.jpg"] |                               |
  | Section Break                    |                               |
  | Descriptive Text                 |                               |
  |                                  |      Record ID 2 (Event 1)    |
  | Text Validation                  |                               |
  | Record ID                        |       2                       |
  | Name                             |       Paul                    |

# Checking for Identifier field twice doesn't work as expected in ATS as it might just check the first Identifier row for all the 2 entries. 
# But keeping it for manual testing.
# Not verifying Name field in Data Types in Record ID 1 (Event 1) and Email field in Text Validation in Record ID 2 (Event 1) as ATS will fail. 
# Name is present with values of Dave and Paul in PDF
And I should NOT see the following values in the downloaded PDF
  | Text2                            |
  | Text Box                         |
  | Notes Box                        |
  | Multiple Choice Dropdown Auto    |
  | Multiple Choice Dropdown Manual  |
  | Radio Button Auto                |
  | Radio Button Manual              |
  | Checkbox                         |
  | Signature                        |
  | File Upload                      |
  | Required                         |
  | Identifier                       |
  | Identifier                       |
  | Edit Field                       |
  
#VERIFY_LOG
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported            |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Download all data entry forms as PDF (all records) |

Comments:

Comment:

Author: MintooXavier Updated on: 10/17/2024 3:18:08 PM

Comment body:

D.115.100

  1. Added steps to verify PDF
  2. Added logging

I have added the above steps and pushed to Github.

Script D.115.100 is Pre-reviewed and Tests Pass.

Could you please modify the other scripts to include PDF verification and logging as well?

Comment edits:

Created: 10/17/2024 3:18:08 PM Edited on: 10/17/2024 3:18:08 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.115.100

  1. Added steps to verify PDF
  2. Added logging

I have added the above steps and pushed to Github.

Script D.115.100 is Pre-reviewed and Tests Pass.

Could you please modify the other scripts to include PDF verification and logging as well?

Created: 10/17/2024 3:18:08 PM Edited on: 10/17/2024 3:17:24 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.115.100

  1. Added steps to verify PDF
  2. Added logging

Script D.115.100 is Pre-reviewed and Tests Pass.

Could you please modify the other scripts to include PDF verification and logging as well?

Comment:

Author: LawrenceFayers Updated on: 10/21/2024 1:53:46 PM

Comment body:

done with the exception of the awkward unzipped folder step requiring us to check a non-excel is present.

Comment:

Author: MintooXavier Updated on: 10/23/2024 9:08:01 AM

Comment body:

Step definitions for PDF comparison tried out.

  1. Compare PDF to a baseline PDF - doesn’t work as PDF contains date and time at the bottom, so even though the contents are the same the comparison fails.
  2. Compare PDF text in table format - This only works for text and not on marked radio fields and checkboxes.
  3. Maybe snapshot is the way. But as pointed out by Lawrence, it may take a long time to run the script.

So, I would like to use the following:

  1. Compare PDF text in table format - for downloaded PDF with no data
  2. Use snapshot - for downloaded PDF with data that contains marked radio buttons and checkboxes.

Comment edits:

Created: 10/23/2024 9:08:01 AM Edited on: 10/23/2024 9:08:01 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Step definitions for PDF comparison tried out. 1. Compare PDF to a baseline PDF - doesn’t work as PDF contains date and time at the bottom, so even though the contents are the same the comparison fails. 2. Compare PDF text in table format - This only works for text and not on marked radio fields and checkboxes. 3. Maybe snapshot is the way. But as pointed out by Lawrence, it may take a long time to run the script.

So, I would like to use the following: 1. Compare PDF text in table format - for downloaded PDF with no data 2. Use snapshot - for downloaded PDF with data that contains marked radio buttons and checkboxes.

Created: 10/23/2024 9:08:01 AM Edited on: 10/23/2024 9:07:28 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Step definitions tried out. 1. Compare PDF to a baseline PDF - doesn’t work as PDF contains date and time at the bottom, so even though the contents are the same the comparison fails. 2. Compare PDF text in table format - This only works for text and not on marked radio fields and checkboxes. 3. Maybe snapshot is the way. But as pointed out by Lawrence, it may take a long time to run the script.

So, I would like to use the following: 1. Compare PDF text in table format - for downloaded PDF with no data 2. Use snapshot - for downloaded PDF with data that contains marked radio buttons and checkboxes.

Comment:

Author: MintooXavier Updated on: 10/23/2024 9:32:58 AM

Comment body:

D.115.100

  1. Modified steps to verify PDF
  2. Modified logging

Script D.115.100 is Pre-reviewed and Tests Pass.

Comment:

Author: MintooXavier Updated on: 10/23/2024 1:16:44 PM

Comment body:

D.115.200

  1. Added customization option 4) in additional customization for PDF. option 3) is tested in D.116.400, hence removed it
  2. Modified steps to verify PDF
  3. Modified logging

Script D.115.200 is Pre-reviewed and Tests Pass.

Comment:

Author: MintooXavier Updated on: 10/23/2024 1:19:24 PM

Comment body:

D.115.300

Instead of designating Data Types to different events, I used Text Validation as the form is small. Also we may not have to write the snapshot step definition as no radio option or checkbox is selected. Modified the script accordingly.

Script D.115.300 is Pre-reviewed and Tests Pass.

Comment:

Author: MintooXavier Updated on: 10/23/2024 1:45:19 PM

Comment body:

D.115.400

Instead of designating Data Types to different events, I used Text Validation as the form is small. Modified the script accordingly.

Script D.115.400 is Pre-reviewed and Tests Pass.

Comment:

Author: MintooXavier Updated on: 10/23/2024 1:45:51 PM

Comment body:

D.115.500

Added few missing steps and modified logging

Script D.115.500 is Pre-reviewed and Tests Pass.

Comment:

Author: MintooXavier Updated on: 10/24/2024 12:12:19 PM

Comment body:

D.115.600

  1. Added data (new record) to verify download of all records
  2. Modified logging
  3. Renamed the script
  4. This script should have verified PDF download and not compact.. Script 700 is compact mode

Script D.115.600 is Pre-reviewed and Tests Pass.

Comment edits:

Created: 10/24/2024 12:12:19 PM Edited on: 10/24/2024 12:12:19 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.115.600

  1. Added data (new record) to verify download of all records
  2. Modified logging
  3. Renamed the script
  4. This script should have verified PDF download and not compact.. Script 700 is compact mode

Script D.115.600 is Pre-reviewed and Tests Pass.

Created: 10/24/2024 12:12:19 PM Edited on: 10/24/2024 12:11:56 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.115.600

  1. Added data (new record) to verify download of all records
  2. Modified logging
  3. Renamed the script
  4. This script should have verified PDF download and not compact.. Script 700 is compact mode

Comment:

Author: MintooXavier Updated on: 10/24/2024 12:14:45 PM

Comment body:

D.115.700

  1. This script is compact mode. Modified script to verify compact mode
  2. modified logging
  3. Deleted ‘Download ZIP file of all uploaded documents’ verification as this is tested in D.117.400

Script D.115.700 is Pre-reviewed and Tests Pass.

Comment:

Author: MintooXavier Updated on: 10/24/2024 12:21:10 PM

Comment body:

All Scripts have ben pre-reviewed and Tests Pass

Comment:

Author: MintooXavier Updated on: 10/25/2024 2:28:03 PM

Comment body:

Automated Script D.115.100

Comment:

Author: MintooXavier Updated on: 10/29/2024 11:25:37 AM

Comment body:

D.115.400, D.115.700 - Modified script to verify PDF doesn’t include some fields for compact mode

Script Pre-reviewed and Test Pass

Comment edits:

Created: 10/29/2024 11:25:37 AM Edited on: 10/29/2024 11:25:37 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.115.400, D.115.700 - Modified script to verify PDF doesn’t include some fields for compact mode

Script Pre-reviewed and Test Pass

Created: 10/29/2024 11:25:37 AM Edited on: 10/29/2024 11:25:17 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.115.400, D.115.700 - Modified script to verify PDF doesn’t include some fields for compact mode

Comment:

Author: MintooXavier Updated on: 11/8/2024 12:16:57 PM

Comment body:

Automated the scripts:

  1. D.115.100
  2. D.115.200
  3. D.115.300
  4. D.115.400
  5. D.115.500
  6. D.115.600
  7. D.115.700

Comment edits:

Created: 11/8/2024 12:16:57 PM Edited on: 11/8/2024 12:16:57 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Automated the scripts:

  1. D.115.100
  2. D.115.200
  3. D.115.300
  4. D.115.400
  5. D.115.500
  6. D.115.600
  7. D.115.700

Created: 11/7/2024 2:53:14 PM Edited on: 11/7/2024 2:53:14 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Automated the scripts:

  1. D.115.100
  2. D.115.200
  3. D.115.300
  4. D.115.400

Created: 11/7/2024 2:12:06 PM Edited on: 11/7/2024 2:12:06 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Automated the scripts:

  1. D.115.100
  2. D.115.200
  3. D.115.300

Created: 11/7/2024 2:12:06 PM Edited on: 11/7/2024 1:39:00 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Automated the scripts:

  1. D.115.100
  2. D.115.200

Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 10:24:09 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 10:24:09 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 10:24:10 AM Assignee: TanDBPRO

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:48:01 PM Previous title: 16. Download PDF of Instruments Current title: 115. Download PDF of Instruments

UNASSIGNED | User: MintooXavier Created on: 9/30/2024 3:05:35 PM Assignee: TanDBPRO

ASSIGNED | User: LawrenceFayers Created on: 10/9/2024 1:48:10 PM Assignee: LawrenceFayers

ISSUE COMMENT | User: MintooXavier Created on: 10/17/2024 3:17:24 PM Issue comment body:

D.115.100

  1. Added steps to verify PDF
  2. Added logging

I have added the above steps and pushed to Github.

Script D.115.100 is Pre-reviewed and Tests Pass.

Could you please modify the other scripts to include PDF verification and logging as well?

ISSUE COMMENT | User: LawrenceFayers Created on: 10/21/2024 1:53:46 PM Issue comment body:

done with the exception of the awkward unzipped folder step requiring us to check a non-excel is present.

ISSUE COMMENT | User: MintooXavier Created on: 10/23/2024 9:07:28 AM Issue comment body:

Step definitions for PDF comparison tried out.

  1. Compare PDF to a baseline PDF - doesn’t work as PDF contains date and time at the bottom, so even though the contents are the same the comparison fails.
  2. Compare PDF text in table format - This only works for text and not on marked radio fields and checkboxes.
  3. Maybe snapshot is the way. But as pointed out by Lawrence, it may take a long time to run the script.

So, I would like to use the following:

  1. Compare PDF text in table format - for downloaded PDF with no data
  2. Use snapshot - for downloaded PDF with data that contains marked radio buttons and checkboxes.
ISSUE COMMENT | User: MintooXavier Created on: 10/23/2024 9:32:58 AM Issue comment body:

D.115.100

  1. Modified steps to verify PDF
  2. Modified logging

Script D.115.100 is Pre-reviewed and Tests Pass.

ISSUE COMMENT | User: MintooXavier Created on: 10/23/2024 1:16:44 PM Issue comment body:

D.115.200

  1. Added customization option 4) in additional customization for PDF. option 3) is tested in D.116.400, hence removed it
  2. Modified steps to verify PDF
  3. Modified logging

Script D.115.200 is Pre-reviewed and Tests Pass.

ISSUE COMMENT | User: MintooXavier Created on: 10/23/2024 1:19:24 PM Issue comment body:

D.115.300

Instead of designating Data Types to different events, I used Text Validation as the form is small. Also we may not have to write the snapshot step definition as no radio option or checkbox is selected. Modified the script accordingly.

Script D.115.300 is Pre-reviewed and Tests Pass.

ISSUE COMMENT | User: MintooXavier Created on: 10/23/2024 1:45:19 PM Issue comment body:

D.115.400

Instead of designating Data Types to different events, I used Text Validation as the form is small. Modified the script accordingly.

Script D.115.400 is Pre-reviewed and Tests Pass.

ISSUE COMMENT | User: MintooXavier Created on: 10/23/2024 1:45:51 PM Issue comment body:

D.115.500

Added few missing steps and modified logging

Script D.115.500 is Pre-reviewed and Tests Pass.

ISSUE COMMENT | User: MintooXavier Created on: 10/24/2024 12:11:56 PM Issue comment body:

D.115.600

  1. Added data (new record) to verify download of all records
  2. Modified logging
  3. Renamed the script
  4. This script should have verified PDF download and not compact.. Script 700 is compact mode

Script D.115.600 is Pre-reviewed and Tests Pass.

ISSUE COMMENT | User: MintooXavier Created on: 10/24/2024 12:14:45 PM Issue comment body:

D.115.700

  1. This script is compact mode. Modified script to verify compact mode
  2. modified logging
  3. Deleted ‘Download ZIP file of all uploaded documents’ verification as this is tested in D.117.400

Script D.115.700 is Pre-reviewed and Tests Pass.

ISSUE COMMENT | User: MintooXavier Created on: 10/24/2024 12:21:10 PM Issue comment body:

All Scripts have ben pre-reviewed and Tests Pass

ISSUE COMMENT | User: MintooXavier Created on: 10/25/2024 2:28:03 PM Issue comment body:

Automated Script D.115.100

ISSUE COMMENT | User: MintooXavier Created on: 10/29/2024 11:25:17 AM Issue comment body:

D.115.400, D.115.700 - Modified script to verify PDF doesn’t include some fields for compact mode

Script Pre-reviewed and Test Pass

ISSUE COMMENT | User: MintooXavier Created on: 11/7/2024 1:39:00 PM Issue comment body:

Automated the scripts:

  1. D.115.100
  2. D.115.200
  3. D.115.300
  4. D.115.400
  5. D.115.500
  6. D.115.600
  7. D.115.700

LABELLED | User: MintooXavier Created on: 11/7/2024 1:39:15 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 11/7/2024 1:39:15 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 11/8/2024 11:57:29 AM Assignee: MintooXavier

UNLABELLED | User: MintooXavier Created on: 11/8/2024 12:17:08 PM Label name: Manual Label description:


————— feature ends —————



Feature: 20. Draft Mode

Id: I_kwDOIaOBn86NDxxn Uid: redcap_cypress-61
Author: MintooXavier Created: 6/21/2024 1:41:15 PM
Assignees: MintooXavier || phillidgithub Resource path: /CCTC-team/redcap_cypress/issues/61
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:53:21 PM
Locked: false Participants: MintooXavier || phillidgithub

Project item body:

Brief description:
This feature is used to track changes to a project in Production; and commit or reject the changes accordingly.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/20_draft_mode.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.100%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.300%20-%20Instrument%20Behavior.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.400%20-%20Draft%20Mode%20Summary.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.600%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.700%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.800%20-%20Draft%20warning.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.900%20-%20Draft%20version%20control.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/20_draft_mode.spec

B.4.20.100 - Control Center: The system shall allow production draft mode changes to be approved automatically under certain conditions. Options are specified as follows: Never (always require an admin to approve changes) | Yes, if no existing fields were modified | Yes, if project has no records OR if has records and no existing fields were modified | Yes, if no critical issues exist | Yes, if project has no records OR if has records and no critical issues exist.
B.4.20.300 - User Interface: The system shall require changes made to data collection instruments in production status projects to be made only by entering draft mode. Changes in draft mode are implemented upon acceptance of submission, not real time.
B.4.20.400 - User Interface: The system shall provide detailed summary of all drafted changes.
B.4.20.500 - User Interface: The system shall require administrators to review changes made in draft mode if any critical issues exist AND the project contains one or more records.
B.4.20.600 - User Interface: The system shall provide the option to require administrators to review any changes made in draft mode
B.4.20.700 - User Interface: The system shall allow administrators to commit changes, reject changes, reset and delete the drafted changes.
B.4.20.800 - User Interface: The system shall flag any changes that may negatively impact data with the following critical warnings: Possible label mismatch | Possible data loss | Data WILL be lost
B.4.20.900 - User Interface: The system shall record all versions of the data dictionary post-production with date time stamp, requestor, and approver.
D.4.20.1000 - User Interface: The system shall allow for a confirmation email to be sent to the requestor which is templated but allows for additional information to be entered.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.100%20-%20REDUNDANT.feature

Feature: Control Center: The system shall allow production draft mode changes to be approved automatically under certain conditions. Options are specified as follows: Never (always require an admin to approve changes) | Yes, if no existing fields were modified | Yes, if project has no records OR if has records and no existing fields were modified | Yes, if no critical issues exist | Yes, if project has no records OR if has records and no critical issues exist

This feature test is REDUNDANT and can be viewed in A.6.4.400.300

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.300%20-%20Instrument%20Behavior.feature

Feature: User Interface: The system shall require changes made to data collection instruments in production status projects to be made only by entering draft mode. Changes in draft mode are implemented upon acceptance of submission, not real time.

As a REDCap end user I want to see that Draft Mode is functioning as expected

Scenario: B.4.20.300.100 Changes occur in draft mode non-real-time ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.4.20.300.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL_REQUIREMENT
##ACTION: Draft Mode
When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#ACTION: Make changes to instrument
When I click on the instrument labeled "Data Types"
And I click on the Edit image for the field named "Radio Button Manual"
And I enter Choices of "102, Choice102" into the open "Edit Field" dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box

##VERIFY INSTRUMENT
Given I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 2" for record ID "1" and click on the bubble
Then I should NOT see "Choice102"

##VERIFY: (look at a table that shows summary of changes)
When I click on the link labeled "Designer"
And I click on the button labeled "Leave without saving changes"
And I click on the link labeled "View detailed summary of all drafted changes"
Then I should see a table header and rows containing the following values in a table:
  | Variable Name       | Section Header | Field Type | Field Label         | Choices or Calculations |
  | radio_button_manual |                | radio      | Radio Button Manual | 102, Choice102          |

##ACTION
Given I click on the button labeled "RETURN TO PREVIOUS PAGE"
And I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "Changes Were Made Automatically"
And I click on the button labeled "Close" in the dialog box

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported              |
  | test_user1 | Manage/Design | Approve production project modifications (automatic) |

##VERIFY INSTRUMENT
Given I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Data Types" instrument on event "Event 2" for record ID "1" and click on the bubble
Then I should see "Choice102"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.400%20-%20Draft%20Mode%20Summary.feature

Feature: User Interface: The system shall provide detailed summary of all drafted changes.

As a REDCap end user I want to see that Draft Mode is functioning as expected

Scenario: B.4.20.400.100 Detailed summary of drafted changes ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.4.20.400.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##ACTION: Draft Mode
When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

When I click on the instrument labeled "Data Types"
And I click on the Edit image for the field named "Radio Button Manual"
And I enter Choices of "102, Choice102" into the open "Edit Field" dialog box
And I click on the button labeled "Save" in the "Edit Field" dialog box
And I click on the Add Field input button below the field named "Radio Button Manual"

Given I select "Notes Box (Paragraph Text)" on the dropdown field labeled "Field Type:"
And I enter "Notes Box" into the Field Label of the open "Add New Field" dialog box
And I enter "notesbox4" into the Variable Name of the open "Add New Field" dialog box
And I click on the button labeled "Save"
Then I should see the field labeled "Notes Box"

#FUNCTIONAL_REQUIREMENT
When I click on the link labeled "View detailed summary of all drafted changes"
Then I should see "Review Drafted Changes"
And I should see a table header and rows containing the following values in a table:
  | Variable Name       | Section Header | Field Type | Field Label         | Choices or Calculations |
  | radio_button_manual |                | radio      | Radio Button Manual | 102, Choice102          |
  | notesbox4           |                | notes      | Notes Box           |                         |


##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Create project field                    |
  | test_user1 | Manage/Design | Edit project field                      |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.500%20-%20REDUNDANT.feature

Feature: User Interface: The system shall require administrators to review changes made in draft mode if any critical issues exist AND the project contains one or more records.

This feature test is REDUNDANT and can be viewed in A.6.4.400.300

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.600%20-%20REDUNDANT.feature

Feature: User Interface: The system shall provide the option to require administrators to review any changes made in draft mode

This feature test is REDUNDANT and can be viewed in A.6.4.400.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.700%20-%20REDUNDANT.feature

Feature: User Interface: The system shall allow administrators to commit changes, reject changes, reset and delete the drafted changes.

This feature test is REDUNDANT and can be viewed in A.6.4.400.100 and A.6.4.400.200

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.800%20-%20Draft%20warning.feature

Feature: User Interface: The system shall flag any changes that may negatively impact data with the following critical warnings: Possible label mismatch | Possible data loss | Data WILL be lost

As a REDCap end user I want to see that Draft mode is functioning as expected

Scenario: B.4.20.800.100 Flag critical warnings ##ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.4.20.800.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##ACTION: Draft Mode
When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_user1 | Manage/Design | Enter draft mode                        |

##ACTION
When I click on the link labeled "Designer"
And I click on the instrument labeled "Data Types"
And I click on the Edit image for the field named "Radio Button Manual"

#DATA WILL BE LOST
# Edit existing second row from value of 100 to 101
# Delete third row
And I clear field and enter Choices of "9..9, Choice99" into the open "Edit Field" dialog box
And I enter Choices of "101, Choice100" into the open "Edit Field" dialog box

#DATA MISMATCH
And I click on the button labeled "Save"
Then I should see the radio field labeled "Radio Button Manual" with the options below
  | Choice99  |
  | Choice100 |

##FUNCTIONAL_REQUIREMENT
When I click on the link labeled "View detailed summary of all drafted changes"
Then I should see "Will these changes be automatically approved?"
And I should see "No, an admin will have to review these changes."
And I should see a table header and rows containing the following values in a table:
  | Variable Name       | Choices or Calculations                                           |
  | radio_button_manual | *Possible label mismatch because of label changes. Check if okay. |
  | radio_button_manual | *Data MIGHT be lost due to deleted choice(s)                      |

When I click on the button labeled "Compare"
And I should see a table header and rows containing the following values in a table:
  | Existing Value | Status  | Number of records having this value |
  | 100            | Removed | 8                                   |
  | 101            | Altered | 0                                   |

And I click on the button labeled "Close" in the dialog box

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Draft%20Mode_20/B.4.20.900%20-%20Draft%20version%20control.feature

Feature: User Interface: The system shall record all versions of the data dictionary post-production with date time stamp, requestor, and approver.

As a REDCap end user I want to see that Draft Mode is functioning as expected

Scenario: B.4.20.900.100 Data dictionary version history #ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "B.4.20.900.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#ACTION: Draft Mode
When I click on the link labeled "Designer"
And I click on the button labeled "Enter Draft Mode"
Then I should see "The project is now in Draft Mode"

#ACTION
Given I click on the instrument labeled "Data Types"
And I click on the button labeled "Add Field"


And I select "Notes Box (Paragraph Text)" on the dropdown field labeled "Field Type:"
And I enter "DD History" into the Field Label of the open "Add New Field" dialog box
And I enter "dd_history" into the Variable Name of the open "Add New Field" dialog box
And I click on the button labeled "Save"
Then I should see the field labeled "DD History"

#ACTION: Commit Changes
When I click on the button labeled "Submit Changes for Review"
And I click on the button labeled "Submit" in the dialog box
Then I should see "SUCCESS!"
And I click on the button labeled "Close" in the dialog box

#ACTION
When I click on the tab labeled "Project Home"
And I click on the link labeled "Project Revision History"
Then I should see "Project Revision History"

#FUNCTIONAL_REQUIREMENT
And I should see a table rows containing the following values in a table:
  | Created project                  | mm/dd/yyyy hh:mm |                          | Test_User1 (Test User1) |
  | Moved to production              | mm/dd/yyyy hh:mm | Download data dictionary | Test_User1 (Test User1) |
  | Production revision #1 (current) | mm/dd/yyyy hh:mm | Download data dictionary | Test_User1 (Test User1) |

Comments:

Comment:

Author: MintooXavier Updated on: 7/11/2024 10:55:28 AM

Comment body:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. B.4.20.300 – Instrument Behavior.

Not verified explicitly but included in other options (No need to email)
2. B.4.20.100 - REDUNDANT
The below options are not verified explicitly but included in the other options in A.6.4.400:
• Yes, if project has no records OR if has records and no existing fields were modified
• Yes, if no critical issues exist

Comment edits:

Created: 7/11/2024 10:55:28 AM Edited on: 7/11/2024 10:55:28 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. B.4.20.300 – Instrument Behavior.
  • After submitting the changes in draft mode, we are checking if it is successful based on messages e.g. “Changes Were Made Automatically”. Do we need to check the instrument to see if the changes have been applied to it? Because only then we can be sure that the changes have been successfully applied.
  • Verify instrument before and after draft mode submission
  • Modified the script and pushed to MX_v13.1.37

Not verified explicitly but included in other options (No need to email) 2. B.4.20.100 - REDUNDANT The below options are not verified explicitly but included in the other options in A.6.4.400: • Yes, if project has no records OR if has records and no existing fields were modified • Yes, if no critical issues exist

Created: 7/11/2024 10:55:14 AM Edited on: 7/11/2024 10:55:14 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. Draft Mode – B.4.20.300 – Instrument Behavior.
  • After submitting the changes in draft mode, we are checking if it is successful based on messages e.g. “Changes Were Made Automatically”. Do we need to check the instrument to see if the changes have been applied to it? Because only then we can be sure that the changes have been successfully applied.
  • Verify instrument before and after draft mode submission
  • Modified the script and pushed to MX_v13.1.37

Not verified explicitly but included in other options (No need to email) 2. B.4.20.100 - REDUNDANT The below options are not verified explicitly but included in the other options in A.6.4.400: • Yes, if project has no records OR if has records and no existing fields were modified • Yes, if no critical issues exist

Created: 7/9/2024 12:53:05 PM Edited on: 7/9/2024 12:53:05 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. Draft Mode – B.4.20.300 – Instrument Behavior.
  • After submitting the changes in draft mode, we are checking if it is successful based on messages e.g. “Changes Were Made Automatically”. Do we need to check the instrument to see if the changes have been applied to it? Because only then we can be sure that the changes have been successfully applied.
  • Verify instrument before and after draft mode submission
  • Modified the script and pushed to MX_v13.1.37

Have to email: 2. B.4.20.100 - REDUNDANT The below options are not verified in A.6.4.400 or elsewhere: - Yes, if project has no records OR if has records and no existing fields were modified - Yes, if no critical issues exist

Created: 7/9/2024 12:52:49 PM Edited on: 7/9/2024 12:52:49 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. Draft Mode – B.4.20.300 – Instrument Behavior.
  • After submitting the changes in draft mode, we are checking if it is successful based on messages e.g. “Changes Were Made Automatically”. Do we need to check the instrument to see if the changes have been applied to it? Because only then we can be sure that the changes have been successfully applied.
  •  Verify instrument before and after draft mode submission
  • Modified the script and pushed to MX_v13.1.37

Have to email: 2. B.4.20.100 - REDUNDANT The below options are not verified in A.6.4.400 or elsewhere: - Yes, if project has no records OR if has records and no existing fields were modified - Yes, if no critical issues exist

Created: 7/9/2024 12:19:03 PM Edited on: 7/9/2024 12:19:03 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. Draft Mode – B.4.20.300 – Instrument Behavior.
  • After submitting the changes in draft mode, we are checking if it is successful based on messages e.g. “Changes Were Made Automatically”. Do we need to check the instrument to see if the changes have been applied to it? Because only then we can be sure that the changes have been successfully applied.
  • Modified the script and pushed to MX_v13.1.37

Have to email: 2. B.4.20.100 - REDUNDANT The below options are not verified in A.6.4.400 or elsewhere: - Yes, if project has no records OR if has records and no existing fields were modified - Yes, if no critical issues exist

Created: 7/9/2024 12:18:37 PM Edited on: 7/9/2024 12:18:37 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. Draft Mode – B.4.20.300 – Instrument Behavior.
  • After submitting the changes in draft mode, we are checking if it is successful based on messages e.g. “Changes Were Made Automatically”. Do we need to check the instrument to see if the changes have been applied to it? Because only then we can be sure that the changes have been successfully applied.
  • Modified the script and pushed to MX_v13.1.37

Have to email: 2. B.4.20.100 - REDUNDANT The below options are not verified in A.6.4.400 or elsewhere: - Yes, if project has no records OR if has records and no existing fields were modified - Yes, if no critical issues exist

Created: 6/26/2024 3:00:06 PM Edited on: 6/26/2024 3:00:06 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

Draft Mode – B.4.20.300 – Instrument Behavior. - After submitting the changes in draft mode, we are checking if it is successful based on messages e.g. “Changes Were Made Automatically”. Do we need to check the instrument to see if the changes have been applied to it? Because only then we can be sure that the changes have been successfully applied.

Modified the script and pushed to MX_v13.1.37

Created: 6/26/2024 3:00:06 PM Edited on: 6/21/2024 1:42:24 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

Draft Mode – B.4.20.300 – Instrument Behavior. - After submitting the changes in draft mode, we are checking if it is successful based on messages e.g. “Changes Were Made Automatically”. Do we need to check the instrument to see if the changes have been applied to it? Because only then we can be sure that the changes have been successfully applied.

Comment:

Author: MintooXavier Updated on: 7/11/2024 11:01:20 AM

Comment body:

Scripts Pre-reviewed:

  1. B.4.20.100 - REDUNDANT
  2. No user requirement or script for .200
  3. B.4.20.300 – Instrument Behavior.
  4. B.4.20.400 - Draft Mode Summary
  5. B.4.20.500 - REDUNDANT
  6. B.4.20.600 - REDUNDANT
  7. B.4.20.700 - REDUNDANT
  8. B.4.20.800 - Draft warning
  9. B.4.20.900 - Draft version control

All Tests pass

Comment edits:

Created: 7/11/2024 11:01:20 AM Edited on: 7/11/2024 11:01:20 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.4.20.100 - REDUNDANT
  2. No user requirement or script for .200
  3. B.4.20.300 – Instrument Behavior.
  4. B.4.20.400 - Draft Mode Summary
  5. B.4.20.500 - REDUNDANT
  6. B.4.20.600 - REDUNDANT
  7. B.4.20.700 - REDUNDANT
  8. B.4.20.800 - Draft warning
  9. B.4.20.900 - Draft version control

All Tests pass

Created: 7/11/2024 10:27:07 AM Edited on: 7/11/2024 10:27:07 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.4.20.100 - REDUNDANT
  2. No user requirement or script for .200
  3. B.4.20.300 – Instrument Behavior.
  4. B.4.20.400 - Draft Mode Summary
  5. B.4.20.500 - REDUNDANT
  6. B.4.20.600 - REDUNDANT
  7. B.4.20.700 - REDUNDANT
  8. B.4.20.800 - Draft warning
  9. B.4.20.900 - Draft version control

Created: 7/9/2024 1:14:15 PM Edited on: 7/9/2024 1:14:15 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.4.20.100 - REDUNDANT
  2. No user requirement or script for .200
  3. B.4.20.300 – Instrument Behavior.
  4. B.4.20.400 - Draft Mode Summary

Created: 7/9/2024 12:52:02 PM Edited on: 7/9/2024 12:52:02 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.4.20.100 - REDUNDANT
  2. No user requirement or script for .200
  3. B.4.20.300 – Instrument Behavior.

Created: 7/9/2024 12:17:55 PM Edited on: 7/9/2024 12:17:55 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.4.20.100 - REDUNDANT

Created: 7/9/2024 12:17:55 PM Edited on: 7/9/2024 9:05:42 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.4.20.100 - REDUNDANT The below options are not verified in A.6.4.400 or elsewhere:
  • Yes, if project has no records OR if has records and no existing fields were modified
  • Yes, if no critical issues exist

Comment:

Author: phillidgithub Updated on: 7/15/2024 9:04:29 AM

Comment body:

Scripts Post-reviewed:
B.4.20.300 – Instrument Behavior
Test passes

Note that log record on line 65 is Approve production project modifications (automatic) rather than Approve production project modifications

Comment edits:

Created: 7/15/2024 9:04:29 AM Edited on: 7/15/2024 9:04:29 AM Edited by: phillidgithub Deleted on: |none| Deleted by: |none|

Diff:

Scripts Post-reviewed: B.4.20.300 – Instrument Behavior Test passes

Note that log record on line 65 is Approve production project modifications (automatic) rather than Approve production project modifications

Created: 7/15/2024 9:02:56 AM Edited on: 7/15/2024 9:02:56 AM Edited by: phillidgithub Deleted on: |none| Deleted by: |none|

Diff:

Scripts Post-reviewed: B.4.20.300 – Instrument Behavior

Note that log record on line 65 is Approve production project modifications (automatic) rather than Approve production project modifications

Created: 7/15/2024 9:02:56 AM Edited on: 7/15/2024 9:02:39 AM Edited by: phillidgithub Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed: B.4.20.300 – Instrument Behavior

Note that log record on line 65 is Approve production project modifications (automatic) rather than Approve production project modifications

Comment:

Author: MintooXavier Updated on: 7/29/2024 1:30:10 PM

Comment body:
  1. Added (automatic) to script
  2. ATS team accepted the script

Timeline events:

LABELLED | User: MintooXavier Created on: 6/21/2024 1:41:15 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 6/21/2024 1:41:15 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 6/21/2024 1:41:15 PM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 6/21/2024 1:42:24 PM Issue comment body:

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. B.4.20.300 – Instrument Behavior.

Not verified explicitly but included in other options (No need to email)
2. B.4.20.100 - REDUNDANT
The below options are not verified explicitly but included in the other options in A.6.4.400:
• Yes, if project has no records OR if has records and no existing fields were modified
• Yes, if no critical issues exist

LABELLED | User: MintooXavier Created on: 6/25/2024 12:41:06 PM Label name: Question Label description: Further information is requested

ASSIGNED | User: MintooXavier Created on: 7/2/2024 10:16:25 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/9/2024 9:05:42 AM Issue comment body:

Scripts Pre-reviewed:

  1. B.4.20.100 - REDUNDANT
  2. No user requirement or script for .200
  3. B.4.20.300 – Instrument Behavior.
  4. B.4.20.400 - Draft Mode Summary
  5. B.4.20.500 - REDUNDANT
  6. B.4.20.600 - REDUNDANT
  7. B.4.20.700 - REDUNDANT
  8. B.4.20.800 - Draft warning
  9. B.4.20.900 - Draft version control

All Tests pass

ASSIGNED | User: phillidgithub Created on: 7/15/2024 9:01:29 AM Assignee: phillidgithub

ISSUE COMMENT | User: phillidgithub Created on: 7/15/2024 9:02:39 AM Issue comment body:

Scripts Post-reviewed:
B.4.20.300 – Instrument Behavior
Test passes

Note that log record on line 65 is Approve production project modifications (automatic) rather than Approve production project modifications

ISSUE COMMENT | User: MintooXavier Created on: 7/29/2024 1:30:10 PM Issue comment body:
  1. Added (automatic) to script
  2. ATS team accepted the script

UNLABELLED | User: MintooXavier Created on: 7/29/2024 1:30:20 PM Label name: Question Label description: Further information is requested

LABELLED | User: MintooXavier Created on: 12/17/2024 11:05:35 AM Label name: PQ Label description:

UNLABELLED | User: MintooXavier Created on: 12/18/2024 1:56:15 PM Label name: PQ Label description:


————— feature ends —————



Feature: 19. Record locking and E-signatures

Id: I_kwDOIaOBn86OFY7_ Uid: redcap_cypress-64
Author: MintooXavier Created: 7/1/2024 12:53:04 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/64
Milestone: |none| Labels: Question || Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:53:04 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to lock/unlock records; and add e-signature during locking if required.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/19_record_locking_and_e_signatures.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.100%20-%20Lock%20status.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.300%20-%20Locking%20record%20filter.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.400%20-%20Lock%20status%20display.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.500%20-%20eSign%20display.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.600%20-%20Locking%20module%20navigation.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.700%20-%20eSign%20customization.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.800%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.900%20-%20eSign%20and%20Lock%20access.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/19_record_locking_and_e_signatures.spec

C.2.19.100 - User Interface: The E-signature and Locking Management tool shall display all records in a database with their status as locked or e-signed for all data entry forms.
C.2.19.200 - User Interface: The tool shall only display forms that are designated to be locked.
C.2.19.300 - User Interface: The tool shall support the filtering the record list
C.2.19.400 - User Interface: The tool shall display locked status of forms for all records.
C.2.19.500 - User Interface: The tool shall display e-signature status of forms for all records.
C.2.19.600 - User Interface: The tool shall support the ability to navigate directly to a selected record.
C.2.19.700 - User Interface: The Record Locking Customization module shall allow the customization of: Display or not display E-Signature option on each data collection instrument | Lock Record Custom Text | Display or not display the Lock option for each data collection instrument
C.2.19.800 - User Interface: The Record Locking Customization module shall provide the ability to edit or remove the Lock Record Custom Text.
C.2.19.900 - User Interface: The system shall support the ability to limit access to the Record Locking Customization module through user rights

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.100%20-%20Lock%20status.feature

Feature: User Interface: The E-signature and Locking Management tool shall display all records in a database with their status as locked or e-signed for all data entry forms.

As a REDCap end user I want to see that Record locking and E-signatures is functioning as expected

Scenario: C.2.19.100.100 Display locked and e-signed status #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.2.19.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
Given the Column Name "Display the Lock option for this instrument?", I uncheck the checkbox within the Record Locking Customization table for the Data Collection Instrument named "Consent"
And for the Column Name "Also display E-signature option on instrument?", I check the checkbox within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"
Then I should see a table header and rows containing the following values in a table:
  | Display the Lock option for this instrument? | Data Collection Instrument | Also display E-signature option on instrument? | Lock Record Custom Text |
  | [✓]                                          | Text Validation            | [✓]                                           | [text box]              |
  | [✓]                                          | Data Types                 | [ ]                                           | [text box]              |
  | [✓]                                          | Survey                     | [ ]                                           | [text box]              |
  | [ ]                                          | Consent                    | [ ]                                           | [text box]              |


When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "Text Validation"
Given I check the checkbox labeled exactly "Lock"
And I check the checkbox labeled exactly "E-signature"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see "E-signature: Username/password verification" in the dialog box
Given I provide E-Signature credentials for the user "Test_Admin"
And I click on the button labeled "Save" in the dialog box
Then I should see "E-signed by test_admin"
And I should see "Instrument locked by test_admin"

When I click on the link labeled "Data Types"
Then I should see "Data Types"
Given I check the checkbox labeled exactly "Lock"
And I should NOT see a checkbox labeled "E-signature"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see "Instrument locked by test_admin"
And I should NOT see "E-signed by test_admin"

When I click on the link labeled "Consent"
Then I should NOT see a checkbox labeled "E-signature"
And I should NOT see a checkbox labeled "Lock"

When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event Three" for record ID "1" and click on the bubble
Then I should see "Survey"
And I should see a checkbox labeled exactly "Lock" that is unchecked
And I should NOT see a checkbox labeled "E-signature"

#FUNCTIONAL REQUIREMENT
##ACTION Edit / Remove Custom Text
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box

##VERIFY
When I click on the link labeled "E-signature and Locking Management"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name                 | Form Name       | Repeat Instance | Locked?     | E-signed?       |
  | 1      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | [lock icon] | [e-signed icon] |
  | 1      | Event Three (Arm 1: Arm 1) | Survey          |                 |             | N/A             |
  | 1      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           | [lock icon] | N/A             |
  | 1      | Event 2 (Arm 1: Arm 1)     | Text Validation |    #1           |             |                 |
  | 1      | Event 2 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 1      | Event 2 (Arm 1: Arm 1)     | Text Validation |    #2           |             |                 |
  | 1      | Event 2 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 2      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 |             |                 |
  | 2      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 2      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 3      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 |             |                 |
  | 3      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 3      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 4      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 |             |                 |
  | 4      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 4      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 4      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #3           |             | N/A             |

##VERIFY C.2.19.200
And I should NOT see "Consent"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in a table:
  | Username   | Action               | List of Data ChangesOR Fields Exported                                  |
  | test_admin | Lock/Unlock Record 1 | Action: Lock instrument Record: 1 Form: Data Types Event: Event 1       |
  | test_admin | E-signature 1        | Action: Save e-signature Record: 1 Form: Text Validation Event: Event 1 |
  | test_admin | Lock/Unlock Record 1 | Action: Lock instrument Record: 1 Form: Text Validation Event: Event 1  |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.200%20-%20REDUNDANT.feature

Feature: User Interface: The tool shall only display forms that are designated to be locked.

This feature test is REDUNDANT and can be viewed in C.2.19.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.300%20-%20Locking%20record%20filter.feature

Feature: User Interface: The tool shall support the filtering the record list:

As a REDCap end user I want to see that Record locking and E-signatures is functioning as expected

Scenario: C.2.19.300.100 Record locking and E-signatures filtering #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.2.19.300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
Given the Column Name "Display the Lock option for this instrument?", I uncheck the checkbox within the Record Locking Customization table for the Data Collection Instrument named "Consent"
And for the Column Name "Also display E-signature option on instrument?", I check the checkbox within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"
Then I should see a table header and rows containing the following values in a table:
  | Display the Lock option for this instrument? | Data Collection Instrument | Also display E-signature option on instrument? | Lock Record Custom Text |
  | [✓]                                          | Text Validation            | [✓]                                           | [text box]              |
  | [✓]                                          | Data Types                 | [ ]                                           | [text box]              |
  | [✓]                                          | Survey                     | [ ]                                           | [text box]              |
  | [ ]                                          | Consent                    | [ ]                                           | [text box]              |

#FUNCTIONAL REQUIREMENT
##ACTION Lock E-sign instrument
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "3" and click on the bubble
Then I should see "Text Validation"
And I should see a checkbox labeled "Lock this instrument?" that is unchecked
Given I check the checkbox labeled "Lock this instrument?"
And I check the checkbox labeled exactly "E-signature"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see "E-signature: Username/password verification" in the dialog box
Given I provide E-Signature credentials for the user "Test_Admin"
And I click on the button labeled "Save" in the dialog box
Then I should see "E-signed by test_admin"
And I should see "Instrument locked by test_admin"

##ACTION Lock instrument
 When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "Text Validation"
And I should see a checkbox labeled "Lock this instrument?" that is unchecked
Given I check the checkbox labeled "Lock this instrument?"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I should see "Instrument locked by test_admin"

##VERIFY_LOCK_ESIG: Record instrument lock on Locking Management
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
And I click on the link labeled "E-signature and Locking Management"
When I click on the link labeled "SHOW ALL ROWS"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name                 | Form Name       | Repeat Instance | Locked?     | E-signed?       |
  | 1      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | [lock icon] |                 |
  | 1      | Event Three (Arm 1: Arm 1) | Survey          |                 |             | N/A             |
  | 1      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 1      | Event 2 (Arm 1: Arm 1)     | Text Validation |    #1           |             |                 |
  | 1      | Event 2 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 1      | Event 2 (Arm 1: Arm 1)     | Text Validation |    #2           |             |                 |
  | 1      | Event 2 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 2      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 |             |                 |
  | 2      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 2      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 3      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | [lock icon] | [e-signed icon] |
  | 3      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 3      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 4      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 |             |                 |
  | 4      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 4      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 4      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #3           |             | N/A             |

When I click on the link labeled "Show locked"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name                 | Form Name       | Repeat Instance | Locked?     | E-signed?       |
  | 1      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | [lock icon] |                 |
  | 3      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | [lock icon] | [e-signed icon] |

When I click on the link labeled "Show timestamp / user"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name                 | Form Name       | Repeat Instance | Locked?                 | E-signed?               |
  # | 1      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | mm/dd/yyyy hh:mm        |                         |
  | 1      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | test_admin (Admin User) |                         |
  # | 3      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | mm/dd/yyyy hh:mm        | mm/dd/yyyy hh:mm        |
  | 3      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | test_admin (Admin User) | test_admin (Admin User) |

When I click on the link labeled "Hide timestamp / user"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name                 | Form Name       | Repeat Instance | Locked?     | E-signed?       |
  | 1      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | [lock icon] |                 |
  | 3      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | [lock icon] | [e-signed icon] |

When I click on the link labeled "Show not e-signed (excludes N/A)"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name                 | Form Name       | Repeat Instance | Locked?     | E-signed?       |
  | 1      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | [lock icon] |                 |
  | 1      | Event 2 (Arm 1: Arm 1)     | Text Validation |    #1           |             |                 |
  | 1      | Event 2 (Arm 1: Arm 1)     | Text Validation |    #2           |             |                 |
  | 2      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 |             |                 |
  | 4      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 |             |                 |

When I click on the link labeled "Show e-signed"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name                 | Form Name       | Repeat Instance | Locked?     | E-signed?       |
  | 3      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | [lock icon] | [e-signed icon] |

When I click on the link labeled "Show not locked"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name                 | Form Name       | Repeat Instance | Locked?     | E-signed?       |
  | 1      | Event Three (Arm 1: Arm 1) | Survey          |                 |             | N/A             |
  | 1      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 1      | Event 2 (Arm 1: Arm 1)     | Text Validation |    #1           |             |                 |
  | 1      | Event 2 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 1      | Event 2 (Arm 1: Arm 1)     | Text Validation |    #2           |             |                 |
  | 1      | Event 2 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 2      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 |             |                 |
  | 2      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 2      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 3      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 3      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 4      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 |             |                 |
  | 4      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #1           |             | N/A             |
  | 4      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #2           |             | N/A             |
  | 4      | Event 1 (Arm 1: Arm 1)     | Data Types      |    #3           |             | N/A             |

When I click on the link labeled "Show neither locked nor e-signed (excludes N/A)"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name                 | Form Name       | Repeat Instance | Locked?     | E-signed?       |
  | 1      | Event 2 (Arm 1: Arm 1)     | Text Validation |    #1           |             |                 |
  | 1      | Event 2 (Arm 1: Arm 1)     | Text Validation |    #2           |             |                 |
  | 2      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 |             |                 |
  | 4      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 |             |                 |

When I click on the link labeled "Show both locked and e-signed"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name                 | Form Name       | Repeat Instance | Locked?     | E-signed?       |
  | 3      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | [lock icon] | [e-signed icon] |

When I click on the link labeled "Show locked but not e-signed (excludes N/A)"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name                 | Form Name       | Repeat Instance | Locked?     | E-signed?       |
  | 1      | Event 1 (Arm 1: Arm 1)     | Text Validation |                 | [lock icon] |                 |

When I click on the button labeled "Export all (CSV)" to download a file
Then the downloaded CSV with filename "C219300100_EsignLockMgmt_yyyy-mm-dd_hhmm.csv" has a value "3" for column "Record"
Then the downloaded CSV with filename "C219300100_EsignLockMgmt_yyyy-mm-dd_hhmm.csv" has a value "Event 1 (Arm 1: Arm1)" for column "Event Name"
Then the downloaded CSV with filename "C219300100_EsignLockMgmt_yyyy-mm-dd_hhmm.csv" has a value "Text Validation" for column "Form Name"
Then the downloaded CSV with filename "C219300100_EsignLockMgmt_yyyy-mm-dd_hhmm.csv" has a value " " for column "Repeat Instance"
Then the downloaded CSV with filename "C219300100_EsignLockMgmt_yyyy-mm-dd_hhmm.csv" has a value "MM/DD/YYYY" for column "Locked?"
Then the downloaded CSV with filename "C219300100_EsignLockMgmt_yyyy-mm-dd_hhmm.csv" has a value "N/A" for column "E-signed?"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.400%20-%20Lock%20status%20display.feature

Feature: User Interface: The tool shall display locked status of forms for all records.

As a REDCap end user I want to see that Record locking and E-signatures is functioning as expected

Scenario: C.2.19.400.100 display lock status #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.2.19.400.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box
Then I should see Project status: "Production"

#USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_user1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I should see a dialog containing the following text: "Adding new user"

When I check the User Right named "Record Locking Customization"
And I select the User Right named "Lock/Unlock Records" and choose "Locking / Unlocking"
And I check the User Right named "Lock/Unlock *Entire* Records (record level)"
And I check the User Right named "Logging"
And I save changes within the context of User Rights
And I logout

Given I login to REDCap with the user "Test_User1"

#FUNCTIONAL REQUIREMENT
##ACTION Lock icon for instrument
And I click on the link labeled "My Projects"
And I click on the link labeled "C.2.19.400.100"
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "3" and click on the bubble
Then I should see "Text Validation"
And I should see a checkbox labeled "Lock this instrument?" that is unchecked

When I check the checkbox labeled "Lock this instrument?"
And I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"

And I should see "Record ID 3 successfully edited."
##VERIFY_RH
Then I should see a table header and rows containing the following values in a table:
  | Data Collection Instrument | Event 1     | Event 2 | Event Three |
  | Text Validation            | [lock icon] |         |             |

##VERIFY_LOCK_ESIG: Record instrument lock on Locking Management
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
And I click on the link labeled "E-signature and Locking Management"
Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name             | Form Name       | Locked?     |
  | 3      | Event 1 (Arm 1: Arm 1) | Text Validation | [lock icon] |
  | 3      | Event 1 (Arm 1: Arm 1) | Consent         |             |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in a table:
  | Username   | Action      | List of Data Changes OR Fields Exported |
  | test_user1 | Lock/Unlock | Action: Lock instrument                 |
  |            | Record      | Record: 3                               |
  |            | 3           | Form: Text Validation Event: Event 1    |

##ACTION Lock icon for event
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "3"
Then I should see "Record Home Page"
When I click on the span element labeled "Choose action for record"
And I click on the link labeled "Lock entire record"
And I click on the button labeled "Lock entire record" in the dialog box
Then I should see 'Record "3" is now LOCKED' in the dialog box
##VERIFY_RH

##VERIFY_LOG
When I no longer see 'Record "3" is now LOCKED'
Then I should see the lock image for Record ID "3"

When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in a table:
  | Username   | Action      | List of Data Changes OR Fields Exported |
  | test_user1 | Lock/Unlock | Action: Lock entire record              |
  |            | Record      | Record: 3 - Arm 1: Arm 1                |
  |            | 3           |                                         |

##VERIFY_LOCK_ESIG: record locked
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
And I click on the link labeled "E-signature and Locking Management"
Then I should see a table header and rows containing the following values in a table:
  | Record           | Form Name | Locked?     |
  | 3 (Arm 1: Arm 1) |           | [lock icon] |
  | (entire record)  |           |             |
  
##ACTION : unlock record 3
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled "3"
Then I should see "Record Home Page"
When I click on the span element labeled "Choose action for record"
And I click on the link labeled "Unlock entire record"
And I click on the button labeled "Unlock entire record"
Then I should see 'Record "3" is now UNLOCKED' in the dialog box
##VERIFY_RH

##VERIFY_LOG
When I no longer see 'Record "3" is now UNLOCKED'
Then I should NOT see the lock image for Record ID "3"

When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in a table:
  | Username   | Action      | List of Data Changes OR Fields Exported |
  | test_user1 | Lock/Unlock | Action: Unlock entire record            |
  | test_user1 | Record 3    | Record: 3 - Arm 1: Arm 1                |

##VERIFY_LOCK_ESIG: record locked
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
And I click on the link labeled "E-signature and Locking Management"
Then I should NOT see "3 (Arm 1: Arm 1) (entire record)"

##ACTION Unlock icon for instrument
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "3" and click on the bubble
Then I should see "Text Validation"
And I should see a button labeled "Unlock form"

When I click on the button labeled "Unlock form"
And I click on the button labeled "Unlock" in the dialog box
Then I should see "UNLOCK SUCCESSFUL!"

When I click on the button labeled "Close" in the dialog box
Then I should see "Text Validation"
And I should see a checkbox labeled "Lock this instrument?" that is unchecked

When I click on the button labeled "Save & Exit Form"
Then I should see "Record Home Page"
And I should see "Record ID 3 successfully edited."
##VERIFY_RH
And I should NOT see the lock image on the Record Home Page for the Data Collection Instrument labeled "Text Validation" for event "Event 1"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action               | List of Data Changes OR Fields Exported                                  |
  | test_user1 | Update record 3      |                                                                          |
  | test_user1 | Lock/Unlock Record 3 | Action: Unlock instrument Record: 3 Form: Text Validation Event: Event 1 |

##VERIFY_LOCK_ESIG: verify that there isn't a lock in that view
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
And I click on the link labeled "E-signature and Locking Management"
Then I should see a table header and rows containing the following values in a table:
  | Record | Form Name       | Locked? |
  | 3      | Text Validation |         |
  | 3      | Consent         |         |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.500%20-%20eSign%20display.feature

Feature: User Interface: The tool shall display e-signature status of forms for all records.

As a REDCap end user I want to see that Record locking and E-signatures is functioning as expected

Scenario: C.2.19.500.100 Display e-signature #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.2.19.500.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box
Then I should see Project status: "Production"

#USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I should see a dialog containing the following text: "Adding new user"

Given I click on the User Right named "Logging"
Given I click on the User Right named "Record Locking Customization"
And I select the User Right named "Lock/Unlock Records" and choose "Locking / Unlocking with E-signature authority"
Then I should see a dialog containing the following text: "NOTICE"
And I click on the button labeled "Close" in the dialog box
And I save changes within the context of User Rights

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action              | List of Data Changes OR Fields Exported |
  | test_admin | Add user Test_User1 | user = 'Test_User1'                     |

Given I logout
And I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.2.19.500.100"
#SETUP
When I click on the link labeled "Customize & Manage Locking/E-signatures"
Then I should see a dialog containing the following text: "IMPORTANT NOTE"

Given I click on the button labeled "I understand. Let me make changes" in the dialog box
And for the Column Name "Display the Lock option for this instrument?", I check the checkbox within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"
And for the Column Name "Also display E-signature option on instrument?", I check the checkbox within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"
Then I should see a table header and rows containing the following values in a table:
  | Display the Lock option for this instrument? | Data Collection Instrument | Also display E-signature option on instrument? |
  | [✓]                                          | Text Validation            | [✓]                                            |
  | [✓]                                          | Consent                    |                                                |

##ACTION
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "3" and click on the bubble
Then I should see "Text Validation"
And I should see a checkbox labeled exactly "Lock" that is unchecked
And I should see a checkbox labeled exactly "E-signature" that is unchecked

When I click on the checkbox labeled exactly "Lock"
And I click on the checkbox labeled exactly "E-signature"
Given I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see a dialog containing the following text: "E-signature: Username/password verification"

Given I provide E-Signature credentials for the user "Test_Admin"
And I click on the button labeled "Save" in the dialog box
Then I should see "Record Home Page"
And I should see a table header and rows containing the following values in the record home page table:
  | Data Collection Instrument | Event 1         |
  | Text Validation            | [lock icon]     |
  | Text Validation            | [e-signed icon] |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action               | List of Data Changes OR Fields Exported                                 |
  | test_user1 | E-signature 3        | Action: Save e-signature Record: 3 Form: Text Validation Event: Event 1 |
  | test_user1 | Lock/Unlock Record 3 | Action: Lock instrument Record: 3 Form: Text Validation Event: Event 1  |

#FUNCTIONAL REQUIREMENT
##ACTION Record lock and signature status
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
And I click on the link labeled "E-signature and Locking Management"

##VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Record | Form Name       | Locked?     | E-signed?       |
  | 3      | Text Validation | [lock icon] | [e-signed icon] |
  | 3      | Consent         |             | N/A             |

##ACTION
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "3" and click on the bubble
Then I should see "Instrument locked by test_user1"
And I should see "E-signed by test_user1"
When I click on the button labeled "Unlock form"
Then I should see 'Are you sure you wish to unlock this form for record "3"? NOTICE: Unlocking this form will also negate the current e-signature.'
And I click on the button labeled "Unlock" in the dialog box
Then I should see "UNLOCK SUCCESSFUL!"
And I click on the button labeled "Close"
Then I should see a checkbox labeled exactly "Lock" that is unchecked
And I should see a checkbox labeled exactly "E-signature" that is unchecked

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action               | List of Data Changes OR Fields Exported                                   |
  | test_user1 | E-signature 3        | Action: Negate e-signature Record: 3 Form: Text Validation Event: Event 1 |
  | test_user1 | Lock/Unlock Record 3 | Action: Unlock instrument Record: 3 Form: Text Validation Event: Event 1  |

##VERIFY_LOCK_ESIG: verify that there isn't a lock or e-signature in that view
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
And I click on the link labeled "E-signature and Locking Management"
Then I should see a table header and rows containing the following values in a table:
  | Record | Form Name       | Locked? | E-signed? |
  | 3      | Text Validation |         |           |
  | 3      | Consent         |         | N/A       |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.600%20-%20Locking%20module%20navigation.feature

Feature: User Interface: The tool shall support the ability to navigate directly to a selected record.

As a REDCap end user I want to see that Record locking and E-signatures is functioning as expected

Scenario: C.2.19.600.100 Navigate to record #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.2.19.600.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
When I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION Navigate to record
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
And I click on the link labeled "E-signature and Locking Management"

Then I should see a table header and rows containing the following values in a table:
  | Record | Event Name             | Form Name       | Repeat Instance | Locked? | E-signed |             |
  | 3      | Event 1 (Arm 1: Arm 1) | Text Validation |                 |         | N/A      | View record |

When I click on the "View record" link within the e-signature and locking management table in the following row:
  | Record | Event Name             | Form Name       |
  | 3      | Event 1 (Arm 1: Arm 1) | Text Validation |

##VERIFY
Then I should see "Text Validation"
And I should see "Event 1 (Arm 1: Arm 1)"
And I should see "3"
And I should see a checkbox labeled "Lock this instrument?" that is unchecked

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.700%20-%20eSign%20customization.feature

Feature: User Interface: The Record Locking Customization module shall allow the customization of: Display or not display E-Signature option on each data collection instrument | Lock Record Custom Text | Display or not display the Lock option for each data collection instrument

As a REDCap end user I want to see that Record locking and E-signatures is functioning as expected

Scenario: C.2.19.700.100 Customize Record Locking display and text #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.2.19.700.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION Lock Record Custom Text
When I click on the link labeled "Customize & Manage Locking/E-signatures"
Then I should see a dialog containing the following text: "WARNING"

Given I click on the button labeled "I understand. Let me make changes" in the dialog box
Then I should see "Record Locking Customization"

Given the Column Name "Display the Lock option for this instrument?", I uncheck the checkbox within the Record Locking Customization table for the Data Collection Instrument named "Survey"
And for the Column Name "Also display E-signature option on instrument?", I uncheck the checkbox within the Record Locking Customization table for the Data Collection Instrument named "Survey"
And for the Column Name "Display the Lock option for this instrument?", I check the checkbox within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"
And for the Column Name "Also display E-signature option on instrument?", I check the checkbox within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"
And I enter "Test custom text" into the textarea field within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"

And I click on the "Save" button within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"
Then I should see a table header and rows containing the following values in a table:
  | Display the Lock option for this instrument? | Data Collection Instrument | Also display E-signature option on instrument? | Lock Record Custom Text |
  | [✓]                                          | Text Validation            | [✓]                                            | Test custom text        |
  | [✓]                                          | Data Types                 | [ ]                                            |                         |
  | [ ]                                          | Survey                     | [ ]                                            |                         |
  | [✓]                                          | Consent                    | [ ]                                            |                         |

Given I enter "Test custom text" into the textarea field within the Record Locking Customization table for the Data Collection Instrument named "Data Types"
And I click on the "Save" button within the Record Locking Customization table for the Data Collection Instrument named "Data Types"

#FUNCTIONAL REQUIREMENT
##ACTION Display E-Signature or Lock option
Then I should see a table header and rows containing the following values in a table:
  | Display the Lock option for this instrument? | Data Collection Instrument | Also display E-signature option on instrument? | Lock Record Custom Text |
  | [✓]                                          | Text Validation            | [✓]                                            | Test custom text        |
  | [✓]                                          | Data Types                 | [ ]                                            | Test custom text        |
  | [ ]                                          | Survey                     | [ ]                                            |                         |
  | [✓]                                          | Consent                    | [ ]                                            |                         |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Customize record locking                |
  | test_admin | Manage/Design | Customize record locking                |

##VERIFY_RECORD
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should see "Text Validation"
And I should see "Test custom text"
And I should see a checkbox labeled exactly "E-signature" that is unchecked

Given I check the checkbox labeled exactly "Lock"
And I check the checkbox labeled exactly "E-signature"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see a dialog containing the following text: "E-signature: Username/password verification"

Given I provide E-Signature credentials for the user "Test_Admin"
And I click on the button labeled "Save" in the dialog box
Then I should see "E-signed by test_admin"
And I should see "Instrument locked by test_admin"

When I click on the link labeled "Data Types"
Then I should see "Data Types"
And I should see "Test custom text"
And I should NOT see a checkbox labeled "E-Signature"

When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Survey" instrument on event "Event 1" for record ID "1" and click on the bubble
And I should NOT see a checkbox labeled "E-Signature"
And I should NOT see a checkbox labeled "Lock"

#FUNCTIONAL REQUIREMENT
##ACTION Edit and Delete Lock Record Custom Text
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
Then I should see "Record Locking Customization"

When I click on the Edit icon within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"
And I clear field and enter "Edit Test custom text" into the textarea field within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"
And I click on the "Save" button within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"
Then I should see a table header and rows containing the following values in a table:
  | Display the Lock option for this instrument? | Data Collection Instrument | Also display E-signature option on instrument? | Lock Record Custom Text |
  | [✓]                                          | Text Validation            | [✓]                                            | Edit Test custom text   |
  | [✓]                                          | Data Types                 | [ ]                                            | Test custom text        |
  | [ ]                                          | Survey                     | [ ]                                            |                         |
  | [✓]                                          | Consent                    | [ ]                                            |                         |

When I click on the Edit icon within the Record Locking Customization table for the Data Collection Instrument named "Data Types"
And I clear field and enter "Edit Test custom text" into the textarea field within the Record Locking Customization table for the Data Collection Instrument named "Data Types"
And I click on the "Save" button within the Record Locking Customization table for the Data Collection Instrument named "Data Types"
Then I should see a table header and rows containing the following values in a table:
  | Display the Lock option for this instrument? | Data Collection Instrument | Also display E-signature option on instrument? | Lock Record Custom Text |
  | [✓]                                          | Text Validation            | [✓]                                            | Edit Test custom text   |
  | [✓]                                          | Data Types                 | [ ]                                            | Edit Test custom text   |
  | [ ]                                          | Survey                     | [ ]                                            |                         |
  | [✓]                                          | Consent                    | [ ]                                            |                         |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Customize record locking                |

##VERIFY_RECORD
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "3" and click on the bubble
Then I should see "Text Validation"
And I should see "Edit Test custom text"
And I should see a checkbox labeled exactly "E-signature" that is unchecked

Given I check the checkbox labeled exactly "Lock"
And I check the checkbox labeled exactly "E-signature"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should see "E-signature: Username/password verification" in the dialog box

Given I provide E-Signature credentials for the user "Test_Admin"
And I click on the button labeled "Save" in the dialog box
Then I should see "E-signed by test_admin"
And I should see "Instrument locked by test_admin"

When I click on the link labeled "Data Types"
Then I should see "Data Types"
And I should see a checkbox labeled exactly "Lock" that is unchecked
And I should NOT see a checkbox labeled "E-signature"

When I click on the link labeled "Record Status Dashboard"
And I click on the button labeled "Leave without saving changes" in the dialog box
And I locate the bubble for the "Survey" instrument on event "Event Three" for record ID "1" and click on the bubble
Then I should see "Survey"
And I should NOT see a checkbox labeled "Lock"
And I should NOT see a checkbox labeled "E-signature"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.800%20-%20REDUNDANT.feature

Feature: User Interface: The Record Locking Customization module shall provide the ability to edit or remove the Lock Record Custom Text.

This feature test is REDUNDANT and can be viewed in C.2.19.700.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Record%20Locking%20%26%20E-Signatures_19/C.2.19.900%20-%20eSign%20and%20Lock%20access.feature

Feature: User Interface: The system shall support the ability to limit access to the Record Locking Customization module, locking/unlocking instruments, locking/unlocking with e-signature authority and LOCK/INLOCK Entire Records (record level) through user rights.

As a REDCap end user I want to see that Record locking and E-signatures is functioning as expected

Scenario: C.2.19.900.100 Enable user rights for Record Locking Customization module Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.2.19.900.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

##SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box
Then I should see Project status: "Production"

#SETUP
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
And for the Column Name "Also display E-signature option on instrument?", I check the checkbox within the Record Locking Customization table for the Data Collection Instrument named "Text Validation"
Then I should see a table header and rows containing the following values in a table:
  | Display the Lock option for this instrument? | Data Collection Instrument | Also display E-signature option on instrument? | Lock Record Custom Text |
  | [✓]                                          | Text Validation            | [✓]                                           | [text box]              |
  | [✓]                                          | Data Types                 | [ ]                                           | [text box]              |
  | [✓]                                          | Survey                     | [ ]                                           | [text box]              |
  | [✓]                                          | Consent                    | [ ]                                           | [text box]              |

And I click on the link labeled "User Rights"
And I click on the button labeled "Upload or download users, roles, and assignments"
Then I should see "Upload users (CSV)"
When I click on the link labeled "Upload users (CSV)"
Then I should see a dialog containing the following text: "Upload users (CSV)"

Given I upload a "csv" format file located at "import_files/user list for project 1.csv", by clicking the button near "Select your CSV" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see a dialog containing the following text: "Upload users (CSV) - Confirm"
And I should see a table header and rows containing the following values in a table:
  | username   |
  | test_user1 |
  | test_user2 |
  | test_user3 |
  | test_user4 |

Given I click on the button labeled "Upload" in the dialog box
Then I should see a dialog containing the following text: "SUCCESS!"

When I click on the button labeled "Close" in the dialog box
Then I should see a table header and rows containing the following values in a table:
  | Role name               | Username            |
  | —                       | test_admin          |
  | —                       | test_user1          |
  | —                       | test_user2          |
  | —                       | test_user3          |
  | —                       | test_user4          |
  | 1_FullRights            | [No users assigned] |
  | 2_Edit_RemoveID         | [No users assigned] |
  | 3_ReadOnly_Deidentified | [No users assigned] |
  | 4_NoAccess_Noexport     | [No users assigned] |
  | TestRole                | [No users assigned] |

#USER_RIGHTS
##ACTION - Assign users rights for Test_User1
Given I click on the link labeled "Test User1"
And I click on the button labeled "Edit user privileges" on the tooltip
Then I should see a dialog containing the following text: "Editing existing user"
And I check the User Right named "Record Locking Customization"
And I select the User Right named "Lock/Unlock Records" and choose "Locking / Unlocking with E-signature authority"
Then I should see a dialog containing the following text: "NOTICE"
And I click on the button labeled "Close" in the dialog box
Given I check the User Right named "Lock/Unlock *Entire* Records (record level)"
When I save changes within the context of User Rights
Then I should see 'User "test_user1" was successfully edited'

##ACTION - Assign users rights for Test_User2
Given I click on the link labeled "Test User2"
And I click on the button labeled "Edit user privileges" on the tooltip
Then I should see a dialog containing the following text: "Editing existing user"
And I check the User Right named "Record Locking Customization"
And I select the User Right named "Lock/Unlock Records" and choose "Disabled"
When I save changes within the context of User Rights
Then I should see 'User "test_user2" was successfully edited'

##ACTION - Assign users rights for Test_User3
Given I click on the link labeled "Test User3"
And I click on the button labeled "Edit user privileges" on the tooltip
Then I should see a dialog containing the following text: "Editing existing user"
And I uncheck the User Right named "Record Locking Customization"
And I select the User Right named "Lock/Unlock Records" and choose "Locking / Unlocking"
When I save changes within the context of User Rights
Then I should see 'User "test_user3" was successfully edited'

##ACTION - Assign users rights for Test_User4
Given I click on the link labeled "Test User4"
And I click on the button labeled "Edit user privileges" on the tooltip
Then I should see a dialog containing the following text: "Editing existing user"
And I uncheck the User Right named "Record Locking Customization"
And I select the User Right named "Lock/Unlock Records" and choose "Disabled"
When I set Data Viewing Rights to View & Edit for the instrument "Text Validation"
When I save changes within the context of User Rights
Then I should see 'User "test_user4" was successfully edited'
And I logout

#Test_User1
Given I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.2.19.900.100"
##VERIFY - Record Locking Customization module enabled
Then I should see a link labeled "Customize & Manage Locking/E-signatures"
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
Then I should see a link labeled "Record Locking Customization"
And I should see a link labeled "E-signature and Locking Management"
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "3" and click on the bubble
Then I should see "Text Validation"
##VERIFY - Locking / Unlocking with E-signature authority is enabled
And I should see a checkbox labeled exactly "Lock" that is unchecked
And I should see a checkbox labeled "E-signature" that is unchecked
And I click on the button labeled "Cancel"
##VERIFY - Lock/Unlock *Entire* Records (record level) is enabled
Then I should see "Record Home Page"
When I click on the button labeled "Choose action for record"
Then I should see a link labeled "Lock entire record"
And I logout

#Test_User2
Given I login to REDCap with the user "Test_User2"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.2.19.900.100"
##VERIFY - Record Locking Customization module is enabled
Then I should see a link labeled "Customize & Manage Locking/E-signatures"
When I click on the link labeled "Customize & Manage Locking/E-signatures"
And I click on the button labeled "I understand. Let me make changes" in the dialog box
Then I should see a link labeled "Record Locking Customization"
And I should NOT see a link labeled "E-signature and Locking Management"
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "3" and click on the bubble
Then I should see "Text Validation"
##VERIFY - Locking / Unlock is disabled
And I should NOT see a checkbox labeled "Lock"
And I should NOT see a checkbox labeled "E-signature"
And I click on the button labeled "Cancel"
##VERIFY - Lock/Unlock *Entire* Records (record level) is disabled
Then I should see "Record Home Page"
When I click on the button labeled "Choose action for record"
Then I should NOT see a link labeled "Lock entire record"
And I logout

#Test_User3
Given I login to REDCap with the user "Test_User3"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.2.19.900.100"
##VERIFY - Record Locking Customization module is disabled but becomes enabled if you have lock/unlock privileges
Then I should see a link labeled "Customize & Manage Locking/E-signatures"
When I click on the link labeled "Customize & Manage Locking/E-signatures"
Then I should NOT see a link labeled "Record Locking Customization"
And I should see a link labeled "E-signature and Locking Management"
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "3" and click on the bubble
Then I should see "Text Validation"
##VERIFY - Locking / Unlock is enabled with no e-signature
And I should see a checkbox labeled exactly "Lock" that is unchecked
And I should NOT see a checkbox labeled "E-signature"
When I click on the link labeled "Record Status Dashboard"
When I click on the link labeled "3"
##VERIFY - Lock/Unlock *Entire* Records (record level) is disabled
Then I should see "Record Home Page"
When I click on the button labeled "Choose action for record"
Then I should NOT see a link labeled "Lock entire record"
And I logout

#Test_User4
Given I login to REDCap with the user "Test_User4"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.2.19.900.100"
##VERIFY - Record Locking Customization module is disabled
Then I should NOT see a link labeled "Customize & Manage Locking/E-signatures"
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "3" and click on the bubble
Then I should see "Text Validation"
##VERIFY - Locking / Unlock is disabled
And I should NOT see a checkbox labeled "Lock"
And I should NOT see a checkbox labeled "E-signature"
And I click on the button labeled "Cancel"
##VERIFY - Lock/Unlock *Entire* Records (record level) is disabled
Then I should see "Record Home Page"
When I click on the button labeled "Choose action for record"
Then I should NOT see a link labeled "Lock entire record"
And I logout

Comments:

Comment:

Author: MintooXavier Updated on: 7/2/2024 8:42:56 AM

Comment body:

Scripts pre- reviewed:

  1. C.2.19.100 - Lock status

Comment:

Author: MintooXavier Updated on: 10/7/2024 10:19:15 AM

Comment body:

Scripts Pre-reviewed:

  1. C.2.19.100 - Lock status
  2. C.2.19.200 - REDUNDANT
  3. C.2.19.300 - Locking record filter
  4. C.2.19.400 - Lock status display
  5. C.2.19.500 - eSign display
  6. C.2.19.600 - Locking module navigation
  7. C.2.19.700 - eSign customization
  8. C.2.19.800 - REDUNDANT
  9. C.2.19.900 - eSign and Lock access

Comment edits:

Created: 10/7/2024 10:19:15 AM Edited on: 10/7/2024 10:19:15 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.2.19.100 - Lock status
  2. C.2.19.200 - REDUNDANT
  3. C.2.19.300 - Locking record filter
  4. C.2.19.400 - Lock status display
  5. C.2.19.500 - eSign display
  6. C.2.19.600 - Locking module navigation
  7. C.2.19.700 - eSign customization
  8. C.2.19.800 - REDUNDANT
  9. C.2.19.900 - eSign and Lock access

Created: 10/7/2024 10:19:15 AM Edited on: 10/2/2024 2:02:37 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.2.19.100 - Lock status
  2. C.2.19.200 - REDUNDANT
  3. C.2.19.400 - Lock status display
  4. C.2.19.500 - eSign display
  5. C.2.19.600 - Locking module navigation
  6. C.2.19.700 - eSign customization
  7. C.2.19.800 - REDUNDANT

Comment:

Author: MintooXavier Updated on: 10/7/2024 12:05:33 PM

Comment body:
  1. C.2.19.100 - Lock status
  1. C.2.19.200 - REDUNDANT
  1. C.2.19.300 - Locking record filter
  1. C.2.19.400 - Lock status display
  1. C.2.19.500 - eSign display
  1. C.2.19.600 - Locking module navigation
  1. C.2.19.900 - eSign and Lock access

All 7 scripts modified and pushed to MX_v13.8.1 an MX_v13.1.37

Comment edits:

Created: 10/7/2024 12:05:33 PM Edited on: 10/7/2024 12:05:33 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.2.19.100 - Lock status
  • Modified this script completely to meet URS
  1. C.2.19.200 - REDUNDANT
  • Incorporated this into C.2.19.100 and made it REDUNDANT
  1. C.2.19.300 - Locking record filter
  • Script doesn’t test filtering
  • Modified the script to test the different filtering options
  1. C.2.19.400 - Lock status display
  • Added steps to verify logging
  1. C.2.19.500 - eSign display
  • Added steps to unlock instrument which negate e-signature and then verify logging and E-Signature and Lock Management Tool
  1. C.2.19.600 - Locking module navigation
  • Added steps to verify event name and Record ID
  • Deleted steps to Add User and verify logging
  1. C.2.19.900 - eSign and Lock access
  • Not sure why we are testing in Dev and Production separately
  • Modified the URS to include validating User Rights for locking/unlocking instruments, locking/unlocking with e-signature authority and LOCK/INLOCK Entire Records (record level) through user rights.
  • Modified the script to validate the new URS

All 7 scripts modified and pushed to MX_v13.8.1 an MX_v13.1.37

Created: 10/7/2024 10:48:29 AM Edited on: 10/7/2024 10:48:29 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.2.19.100 - Lock status
  • Modified this script completely to meet URS
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.200 - REDUNDANT
  • Incorporated this into C.2.19.100 and made it REDUNDANT
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.300 - Locking record filter
  • Script doesn’t test filtering
  • Modified the script to test the different filtering options
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.400 - Lock status display
  • Added steps to verify logging
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.500 - eSign display
  • Added steps to unlock instrument which negate e-signature and then verify logging and E-Signature and Lock Management Tool
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.600 - Locking module navigation
  • Added steps to verify event name and Record ID
  • Deleted steps to Add User and verify logging
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.900 - eSign and Lock access
  • Not sure why we are testing in Dev and Production separately
  • Modified the URS to include validating User Rights for locking/unlocking instruments, locking/unlocking with e-signature authority and LOCK/INLOCK Entire Records (record level) through user rights.
  • Modified the script to validate the new URS
  • Script modified and pushed to MX_v13.8.1

Created: 10/7/2024 10:18:14 AM Edited on: 10/7/2024 10:18:14 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.2.19.100 - Lock status
  • Modified this script completely to meet URS
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.200 - REDUNDANT
  • Incorporated this into C.2.19.100 and made it REDUNDANT
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.300 - Locking record filter
  • Script doesn’t test filtering
  • Modified the script to test the different filtering options
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.400 - Lock status display
  • Modified the steps to verify logging
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.500 - eSign display
  • Added steps to unlock instrument which negate e-signature and then verify logging and E-Signature and Lock Management Tool
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.600 - Locking module navigation
  • Added steps to verify event name and Record ID
  • Deleted steps to Add User and verify logging
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.900 - eSign and Lock access
  • Not sure why we are testing in Dev and Production separately
  • Modified the URS to include validating User Rights for locking/unlocking instruments, locking/unlocking with e-signature authority and LOCK/INLOCK Entire Records (record level) through user rights.
  • Modified the script to validate the new URS
  • Script modified and pushed to MX_v13.8.1

Created: 10/7/2024 10:17:15 AM Edited on: 10/7/2024 10:17:15 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.2.19.100 - Lock status
  • Modified this script completely to meet URS
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.200 - REDUNDANT
  • Incorporated this into C.2.19.100 and made it REDUNDANT
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.400 - Lock status display
  • Modified the steps to verify logging
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.500 - eSign display
  • Added steps to unlock instrument which negate e-signature and then verify logging and E-Signature and Lock Management Tool
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.600 - Locking module navigation
  • Added steps to verify event name and Record ID
  • Deleted steps to Add User and verify logging
  • Script modified and pushed to MX_v13.8.1

C.2.19.900 - eSign and Lock access - Not sure why we are testing in Dev and Production separately - Modified the URS to include validating User Rights for locking/unlocking instruments, locking/unlocking with e-signature authority and LOCK/INLOCK Entire Records (record level) through user rights. - Modified the script to validate the new URS - Script modified and pushed to MX_v13.8.1

C.2.19.300 - Locking record filter - Script doesn’t test filtering - Modified the script to test the different filtering options - Script modified and pushed to MX_v13.8.1

Created: 10/2/2024 2:50:29 PM Edited on: 10/2/2024 2:50:29 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.2.19.100 - Lock status
  • Modified this script completely to meet URS
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.200 - REDUNDANT
  • Incorporated this into C.2.19.100 and made it REDUNDANT
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.400 - Lock status display
  • Modified the steps to verify logging
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.500 - eSign display
  • Added steps to unlock instrument which negate e-signature and then verify logging and E-Signature and Lock Management Tool
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.600 - Locking module navigation
  • Added steps to verify event name and Record ID
  • Deleted steps to Add User and verify logging
  • Script modified and pushed to MX_v13.8.1

C.2.19.900 - eSign and Lock access Not sure why we are testing in Dev and Production separately Rewriting this script

C.2.19.300 - Locking record filter Have to check this script

Created: 10/2/2024 2:49:22 PM Edited on: 10/2/2024 2:49:22 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.2.19.100 - Lock status
  • Modified this script completely to meet URS
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.200 - REDUNDANT
  • Incorporated this into C.2.19.100 and made it REDUNDANT
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.400 - Lock status display
  • Modified the steps to verify logging
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.500 - eSign display
  • Added steps to unlock instrument which negate e-signature and then verify logging and E-Signature and Lock Management Tool
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.600 - Locking module navigation
  • Added steps to verify event name and Record ID
  • Deleted steps to Add User and verify logging
  • Script modified and pushed to MX_v13.8.1

700 Not sure why we are testing in Dev and Production separately Rewriting this script

Created: 10/2/2024 2:16:23 PM Edited on: 10/2/2024 2:16:23 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.2.19.100 - Lock status
  • Modified this script completely to meet URS
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.200 - REDUNDANT
  • Incorporated this into C.2.19.100 and made it REDUNDANT
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.400 - Lock status display
  • Modified the steps to verify logging
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.500 - eSign display
  • Added steps to unlock instrument which negate e-signature and then verify logging and E-Signature and Lock Management Tool
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.600 - Locking module navigation
  • Added steps to verify event name and Record ID
  • Deleted steps to Add User and verify logging
  • Script modified and pushed to MX_v13.8.1

Created: 10/2/2024 2:13:06 PM Edited on: 10/2/2024 2:13:06 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.2.19.100 - Lock status
  • Modified this script completely to meet URS
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.200 - REDUNDANT
  • Incorporated this into C.2.19.100 and made it REDUNDANT
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.400 - Lock status display
  • Modified the steps to verify logging
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.500 - eSign display
  • Added steps to unlock instrument which negate e-signature and then verify logging and E-Signature and Lock Management Tool
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.600 - Locking module navigation
  • Added steps to verify event name and Record ID
  • Deleted verifying logging for Add User
  • Script modified and pushed to MX_v13.8.1

Created: 10/2/2024 2:13:06 PM Edited on: 10/2/2024 2:08:35 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.2.19.100 - Lock status
  • Modified this script completely to meet URS
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.200 - REDUNDANT
  • Incorporated this into C.2.19.100 and made it REDUNDANT
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.400 - Lock status display
  • Modified the steps to verify logging
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.500 - eSign display
  • Added steps to unlock instrument which negate e-signature and then verify logging and E-Signature and Lock Management Tool
  • Script modified and pushed to MX_v13.8.1
  1. C.2.19.600 - Locking module navigation
  • Added steps to verify event name and Record ID
  • Script modified and pushed to MX_v13.8.1

Comment:

Author: MintooXavier Updated on: 11/25/2024 4:13:07 PM

Comment body:

Modified Timezone in php.ini for C.2.19.300 - Locking record filter.feature to work


Timeline events:

ASSIGNED | User: MintooXavier Created on: 7/1/2024 12:53:13 PM Assignee: MintooXavier

LABELLED | User: MintooXavier Created on: 7/1/2024 12:53:24 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/1/2024 12:53:24 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/1/2024 12:53:24 PM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 7/2/2024 8:42:56 AM Issue comment body:

Scripts pre- reviewed:

  1. C.2.19.100 - Lock status

LABELLED | User: MintooXavier Created on: 10/2/2024 1:58:25 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 10/2/2024 2:02:37 PM Issue comment body:

Scripts Pre-reviewed:

  1. C.2.19.100 - Lock status
  2. C.2.19.200 - REDUNDANT
  3. C.2.19.300 - Locking record filter
  4. C.2.19.400 - Lock status display
  5. C.2.19.500 - eSign display
  6. C.2.19.600 - Locking module navigation
  7. C.2.19.700 - eSign customization
  8. C.2.19.800 - REDUNDANT
  9. C.2.19.900 - eSign and Lock access
ISSUE COMMENT | User: MintooXavier Created on: 10/2/2024 2:08:35 PM Issue comment body:
  1. C.2.19.100 - Lock status
  1. C.2.19.200 - REDUNDANT
  1. C.2.19.300 - Locking record filter
  1. C.2.19.400 - Lock status display
  1. C.2.19.500 - eSign display
  1. C.2.19.600 - Locking module navigation
  1. C.2.19.900 - eSign and Lock access

All 7 scripts modified and pushed to MX_v13.8.1 an MX_v13.1.37

ISSUE COMMENT | User: MintooXavier Created on: 11/25/2024 4:13:07 PM Issue comment body:

Modified Timezone in php.ini for C.2.19.300 - Locking record filter.feature to work


————— feature ends —————



Feature: 24. e-Consent

Id: I_kwDOIaOBn86RK_JS Uid: redcap_cypress-78
Author: MintooXavier Created: 7/29/2024 2:25:05 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/78
Milestone: |none| Labels: Question || Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:54:52 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This is a framework used to take consent of a patient electronically.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/24_e_consent_framework.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.100%20-%20eConsent%20enable.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.200%20-%20eConsent%20footer.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.300%20-%20eConsent%20status.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.600%20-%20eConsent%20edit.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.700%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.800%20-%20eConsent%20repeat.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/24_e_consent_framework.spec

C.3.24.100 - Survey Settings: The system shall support the enabling/disabling of e-Consent framework. The framework categories are listed below: (Disabled | Auto-Archiver enabled | Auto-Archiver + e-Consent Framework (includes end-of-survey certification & archival of PDF consent form))
C.3.24.200 - The e-Consent framework shall support the automatic insertion of select text fields into the footer of the PDF consent form. Selectors e-Consent version | First name field |Last name field | e-Consent type | Date of birth field | Signature field #1-#5
C.3.24.300 - User Interface: The e-Consent framework will enable surveys to be considered as complete (submit button appears) once the certification step has been successfully completed.
C.3.24.400 - User Interface: The e-Consent framework shall support automatic archiving/storage of a PDF copy of the survey response in the project’s File Repository.
C.3.24.500 - User Interface: The e-Consent framework shall support download of archived PDFs
C.3.24.600 - User Interface: The e-Consent framework shall support editing of responses by users.
C.3.24.700 - User Interface: The e-Consent framework shall support a certification page at the end of the survey that displays an in-line PDF copy of their survey responses.
C.3.24.800 - User Interface: The e-Consent framework shall support repeatable instruments and repeatable events.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.100%20-%20eConsent%20enable.feature

Feature: Survey Settings: The system shall support the enabling/disabling of e-Consent framework. The framework categories are listed below: (Disabled | Auto-Archiver enabled | Auto-Archiver + e-Consent Framework (includes end-of-survey certification & archival of PDF consent form))

As a REDCap end user I want to see that eConsent is functioning as expected

Scenario: C.3.24.100.100 Enable/Disable eConsent framework #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named ” C.3.24.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL_REQUIREMENT
##ACTION: e-consent survey settings - disabled
When I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Consent"

And I select the radio option "Disabled" for the e-consent Framework

And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved!"

##ACTION: add record
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 5."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
##VERIFY
Then I should see "Consent"
And I should NOT see a checkbox labeled "I certify that all of my information in the document above is correct."
When I click on the button labeled "Submit"

Given I return to the REDCap page I opened the survey from
And I click on the link labeled exactly "Record ID 5"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1"

##VERIFY_FiRe
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 0 Files |
  | Recycle Bin        |               | 0 Files |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username            | Action            | List of Data Changes OR Fields Exported |
  | [survey respondent] | Update Response 5 | consent_complete = '2'                  |

#FUNCTIONAL_REQUIREMENTauto-archive enabled
When I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Consent"
And I select the radio option "Auto-Archiver enabled" for the e-consent Framework
And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved!"

##ACTION: add record
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 6."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
##VERIFY
Then I should see "Consent"
And I should NOT see a checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"

Given I return to the REDCap page I opened the survey from
And I click on the link labeled exactly "Record ID 6"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1"

##VERIFY_FiRe
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 1 File  |
  | Recycle Bin        |               | 0 Files |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username            | Action            | List of Data Changes OR Fields Exported |
  | [survey respondent] | Update Response 6 | consent_complete = '2'                  |


#FUNCTIONAL_REQUIREMENT
##ACTION: e-consent survey settings - auto-archive and e-consent
When I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Consent"
And I select the radio option "Auto-Archiver + e-Consent Framework" for the e-consent Framework
And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved!"

##ACTION: add record
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 7."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label

Then I should see "Consent"
And I should NOT see a checkbox labeled "I certify that all of my information in the document above is correct."
But I should see a button labeled "Next Page"

Given I click on the button labeled "Next Page"
And I check the checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"

Given I return to the REDCap page I opened the survey from
And I click on the link labeled exactly "Record ID 7"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1"

##VERIFY_FiRe
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 2 Files |
  | Recycle Bin        |               | 0 Files |

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see "This module lists all changes made to this project"
And I should see a table header and rows containing the following values in the logging table:
  | Username            | Action            | List of Data Changes OR Fields Exported |
  | [survey respondent] | Update Response 7 | consent_complete = '2'                  |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.200%20-%20eConsent%20footer.feature

Feature: The e-Consent framework shall support the automatic insertion of select text fields into the footer of the PDF consent form. Selectors e-Consent version | First name field |Last name field | e-Consent type | Date of birth field | Signature field #1-#5

As a REDCap end user I want to see that eConsent is functioning as expected

Scenario: C.3.24.200.100 e-Consent text validation #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.3.24.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Consent.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP_eConsent
When I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Consent"
Then I should see 'Modify survey settings for data collection instrument "Consent"'
And I select the radio option "Auto-Archiver + e-Consent Framework" for the e-consent Framework

#        And I verify "version test" is within the input field labeled "e-Consent version:"
#        Then I should see the dropdown field labeled "First name field" with the option "fname 'Name'" selected
#        And I should see the dropdown field labeled "Last name field" with the option "lname 'Name'" selected
#        And I verify "type test" is within the input field labeled "e-Consent type:"
#        And I should see the dropdown field labeled "Date of birth field" with the option "dob 'DOB'" selected
#        And I should see the dropdown field labeled "Signature field #1:" with the option "signature_consent 'Signature'" selected
#        And I should see the dropdown field labeled "Signature field #2:" with the option "signature_consent_2 'Signature'" selected
#        And I should see the dropdown field labeled "Signature field #3:" with the option "signature_consent_3 'Signature'" selected
#        And I should see the dropdown field labeled "Signature field #4:" with the option "signature_consent_4 'Signature'" selected
#        And I should see the dropdown field labeled "Signature field #5:" with the option "signature_consent_5 'Signature'" selected

And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved!"

##ACTION: add record
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 1."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"
And I should see "Name" in the data entry form field "1) Name"
And I should see "Name" in the data entry form field "2) Name"
And I should see "email@test.edu" in the data entry form field "3) Email"
And I should see "yyyy-mm-dd" in the data entry form field "4) DOB"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I should see "signature_consent_2" in the data entry form field "6) Signature"
And I should see "signature_consent_3" in the data entry form field "7) Signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box

And I should see "signature_consent_5" in the data entry form field "9) Signature"

When I click on the button labeled "Next Page"
Then I should see "Displayed below is a read-only copy of your survey responses."
And I should see a checkbox for the field labeled "I certify that all of my information in the document above is correct." that is unchecked

When I check the checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

When I click on the button labeled "Close survey"
Given I return to the REDCap page I opened the survey from
##VERIFY_RSD
And I click on the link labeled "Record Status Dashboard"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1" for record "1"

##VERIFY_FiRe
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 1 File  |
  | Recycle Bin        |               | 0 Files |

When I click on the link labeled "PDF Survey Archive" in the File Repository table
Given I download the PDF by clicking on the link for Record "1" and Survey "Consent (Event 1 (Arm 1: Arm 1))" in the File Repository table
Then I should see the following values in the downloaded PDF for Record "1" and Survey "Consent (Event 1 (Arm 1: Arm 1))"
  | Version: version test, Type: type test |

#M: Close document

##ACTION: add record_missing sig_1
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 2."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"
And I should see "Name" in the data entry form field "1) Name"
And I should see "Name" in the data entry form field "2) Name"
And I should see "email@test.edu" in the data entry form field "3) Email"
And I should see "yyyy-mm-dd" in the data entry form field "DOB"

#No signature entered for 5) Signature field this time

And I should see "signature_consent_2" in the data entry form field "6) Signature"
And I should see "signature_consent_3" in the data entry form field "7) Signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box

And I should see "signature_consent_5" in the data entry form field "9) Signature"

When I click on the button labeled "Next Page"
Then I should see "NOTE: Some fields are required!"

When I click on the button labeled "Okay" in the dialog box
#M: Close browser page
Given I return to the REDCap page I opened the survey from
##VERIFY_RSD
And I click on the link labeled "Record Status Dashboard"
Then I should see the "Partial Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1" for record "2"
When I locate the bubble for the "Consent" instrument on event "Event 1" for record ID "2" and click on the bubble
Then I should see "Survey response is editable"

When I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"

Given I see "You have not completed the entire survey, and your responses are thus considered only partially complete. For security reasons, you will not be allowed to continue taking the survey from the place where you stopped."
Then I should see the button labeled "Start Over"
#M: Close browser page
Given I return to the REDCap page I opened the survey from

##VERIFY_FiRe
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive"
Then I should NOT see a link labeled exactly "2" in the File Repository table

##ACTION: add record_missing sig_2
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 3."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"
And I should see "Name" in the data entry form field "1) Name"
And I should see "Name" in the data entry form field "2) Name"
And I should see "email@test.edu" in the data entry form field "3) Email"
And I should see "yyyy-mm-dd" in the data entry form field "DOB"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I clear field and enter "" into the data entry form field labeled "6) Signature"
And I should see "signature_consent_3" in the data entry form field "7) Signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box

And I should see "signature_consent_5" in the data entry form field "9) Signature"

When I click on the button labeled "Next Page"
Then I should see "NOTE: Some fields are required!"

When I click on the button labeled "Okay" in the dialog box
#M: Close browser page
Given I return to the REDCap page I opened the survey from
##VERIFY_RSD
And I click on the link labeled "Record Status Dashboard"
Then I should see the "Partial Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1" for record "3"

##VERIFY_FiRe
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive"
Then I should NOT see a link labeled exactly "3" in the File Repository table

##ACTION: add record_missing sig_3
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 4."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"
And I should see "Name" in the data entry form field "1) Name"
And I should see "Name" in the data entry form field "2) Name"
And I should see "email@test.edu" in the data entry form field "3) Email"
And I should see "yyyy-mm-dd" in the data entry form field "DOB"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I should see "signature_consent_2" in the data entry form field "6) Signature"
And I clear field and enter "" into the data entry form field labeled "7) Signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box

And I should see "signature_consent_5" in the data entry form field "9) Signature"

When I click on the button labeled "Next Page"
Then I should see "NOTE: Some fields are required!"

When I click on the button labeled "Okay" in the dialog box
#M: Close browser page
Given I return to the REDCap page I opened the survey from
##VERIFY_RSD
And I click on the link labeled "Record Status Dashboard"
Then I should see the "Partial Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1" for record "4"

##VERIFY_FiRe
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive"
Then I should NOT see a link labeled exactly "4" in the File Repository table

##ACTION: add record_missing sig_4
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 5."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"
And I should see "Name" in the data entry form field "1) Name"
And I should see "Name" in the data entry form field "2) Name"
And I should see "email@test.edu" in the data entry form field "3) Email"
And I should see "yyyy-mm-dd" in the data entry form field "DOB"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I should see "signature_consent_2" in the data entry form field "6) Signature"
And I should see "signature_consent_3" in the data entry form field "7) Signature"

#No signature entered for 8) Signature field this time

And I should see "signature_consent_5" in the data entry form field "9) Signature"

When I click on the button labeled "Next Page"
Then I should see "NOTE: Some fields are required!"

When I click on the button labeled "Okay" in the dialog box
#M: Close browser page
Given I return to the REDCap page I opened the survey from
##VERIFY_RSD
And I click on the link labeled "Record Status Dashboard"
Then I should see the "Partial Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1" for record "5"

##VERIFY_FiRe
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive"
Then I should NOT see a link labeled exactly "5" in the File Repository table

##ACTION: add record_missing sig_5
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 6."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"
And I should see "Name" in the data entry form field "1) Name"
And I should see "Name" in the data entry form field "2) Name"
And I should see "email@test.edu" in the data entry form field "3) Email"
And I should see "yyyy-mm-dd" in the data entry form field "DOB"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I should see "signature_consent_2" in the data entry form field "6) Signature"
And I should see "signature_consent_3" in the data entry form field "7) Signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I clear field and enter "" into the data entry form field labeled "9) Signature"

When I click on the button labeled "Next Page"
Then I should see "NOTE: Some fields are required!"

When I click on the button labeled "Okay" in the dialog box
#M: Close browser page
Given I return to the REDCap page I opened the survey from
##VERIFY_RSD
And I click on the link labeled "Record Status Dashboard"
Then I should see the "Partial Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1" for record "6"

##VERIFY_FiRe
When I click on the link labeled "File Repository"
And I click on the link labeled "PDF Survey Archive"
Then I should NOT see a link labeled exactly "6" in the File Repository table

##ACTION: add record_missing sig_5
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 7."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"

When I clear field and enter "" into the data entry form field labeled "1) Name"
And I clear field and enter "" into the data entry form field labeled "2) Name"
And I should see "email@test.edu" in the data entry form field "3) Email"
And I clear field and enter "" into the data entry form field labeled "DOB"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I should see "signature_consent_2" in the data entry form field "6) Signature"
And I should see "signature_consent_3" in the data entry form field "7) Signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I should see "signature_consent_5" in the data entry form field "9) Signature"
And I click on the button labeled "Next Page"
Then I should see "Consent"
And I should see "Displayed below is a read-only copy of your survey responses."
And I should see a checkbox for the field labeled "I certify that all of my information in the document above is correct." that is unchecked

When I check the checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

When I click on the button labeled "Close survey"
Given I return to the REDCap page I opened the survey from
##VERIFY_RSD
And I click on the link labeled "Record Status Dashboard"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1" for record "7"

##VERIFY_FiRe
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 2 Files |
  | Recycle Bin        |               | 0 Files |

Given I click on the link labeled "PDF Survey Archive" in the File Repository table
When I download the PDF by clicking on the link for Record "7" and Survey "Consent (Event 1 (Arm 1: Arm 1))" in the File Repository table
Then I should see the following values in the downloaded PDF for Record "7" and Survey "Consent (Event 1 (Arm 1: Arm 1))"
  | Version: version test, Type: type test |
#M: Close document

#SETUP_eConsent_change field
When I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Consent"
And I select the radio option "Auto-Archiver + e-Consent Framework" for the e-consent Framework
And I clear field and enter "UPDATED VERSION TEST" into the input field labeled "e-Consent version:"
#        And I should see "fname 'Name'" in the data entry form field "First name field:"
#        And I should see "lname 'Name'" in the data entry form field "Last name field:"
#        And I should see "type test" in the data entry form field "e-Consent type:"
#        And I should see "dob 'DOB'" in the data entry form field "Date of birth field:"
#        And I should see "signature_consent 'Signature'" in the data entry form field "Signature field #1:"
#        And I should see "signature_consent_2 'Signature'" in the data entry form field "Signature field #2:"
#        And I should see "signature_consent_3 'Signature'" in the data entry form field "Signature field #3:"
#        And I should see "signature_consent_4 'Signature'" in the data entry form field "Signature field #4:"
#        And I should see "signature_consent_5 'Signature'" in the data entry form field "Signature field #5:"
And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved!"

##ACTION: add record
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 8."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"

When I should see "Name" in the data entry form field "1) Name"
And I should see "Name" in the data entry form field "2) Name"
And I should see "email@test.edu" in the data entry form field "3) Email"
And I should see "yyyy-mm-dd" in the data entry form field "DOB"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I should see "signature_consent_2" in the data entry form field "6) Signature"
And I should see "signature_consent_3" in the data entry form field "7) Signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I should see "signature_consent_5" in the data entry form field "9) Signature"
And I click on the button labeled "Next Page"
Then I should see "Displayed below is a read-only copy of your survey responses."
And I should see a checkbox for the field labeled "I certify that all of my information in the document above is correct." that is unchecked

When I check the checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

When I click on the button labeled "Close survey"
Given I return to the REDCap page I opened the survey from
##VERIFY_RSD
And I click on the link labeled "Record Status Dashboard"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1" for record "8"

##VERIFY_FiRe
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 3 Files |
  | Recycle Bin        |               | 0 Files |

Given I click on the link labeled "PDF Survey Archive" in the File Repository table
When I download the PDF by clicking on the link for Record "8" and Survey "Consent (Event 1 (Arm 1: Arm 1))" in the File Repository table
Then I should see the following values in the downloaded PDF for Record "8" and Survey "Consent (Event 1 (Arm 1: Arm 1))"
  | Name Name, yyyy-mm-dd, Version: UPDATED VERSION TEST, Type: type test |
#M: Close document

#SETUP_eConsent_change field
When I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Consent"
And I select the radio option "Auto-Archiver enabled" for the e-consent Framework
And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved!"

##ACTION: add record
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 9."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"
And I should see "Name" in the data entry form field "1) Name"
And I should see "Name" in the data entry form field "2) Name"
And I should see "email@test.edu" in the data entry form field "3) Email"
And I should see "yyyy-mm-dd" in the data entry form field "4) DOB"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I should see "signature_consent_2" in the data entry form field "6) Signature"
And I should see "signature_consent_3" in the data entry form field "7) Signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

And I should see "signature_consent_5" in the data entry form field "9) Signature"

And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

When I click on the button labeled "Close survey"
Given I return to the REDCap page I opened the survey from
##VERIFY_RSD
And I click on the link labeled "Record Status Dashboard"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1" for record "9"

##VERIFY_FiRe_no eConsent
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 4 Files |
  | Recycle Bin        |               | 0 Files |

Given I click on the link labeled "PDF Survey Archive" in the File Repository table
When I download the PDF by clicking on the link for Record "9" and Survey "Consent (Event 1 (Arm 1: Arm 1))" in the File Repository table
Then I should see the following values in the downloaded PDF for Record "9" and Survey "Consent (Event 1 (Arm 1: Arm 1))"
  | yyyy-mm-dd |
Then I should NOT see the following values in the downloaded PDF for Record "9" and Survey "Consent (Event 1 (Arm 1: Arm 1))"
  | 'Name Name, yyyy-mm-dd, Version: UPDATED VERSION TEST, Type: type test' |

#M: Close document

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.300%20-%20eConsent%20status.feature

Feature: User Interface: The e-Consent framework will enable surveys to be considered as complete (submit button appears) once the certification step has been successfully completed.

As a REDCap end user I want to see that eConsent is functioning as expected

Scenario: C.3.24.300.100 Certification required to submit completed survey #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named ” C.3.24.300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Consent.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP: Project Setup:modify repeating instruments
When I click on the button labeled "Modify" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section
Then I should see a dialog containing the following text: "WARNING"
And I click on the button labeled "Close" in the dialog box
And I select "Repeat Instruments (repeat independently of each other)" on the dropdown field labeled "Event 1 (Arm 1: Arm 1)"
And for the Event Name "Event 1 (Arm 1: Arm 1)", I check the checkbox labeled "Consent" in the dialog box
And I click on the button labeled "Save" on the dialog box for the Repeatable Instruments and Events module
Then I should see "Successfully saved!"

#SETUP_eConsent
When I click on the button labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Consent"
And I select the radio option "Auto-Archiver + e-Consent Framework" for the e-consent Framework
And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved!"

##ACTION: add record
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 1."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box

And I click on the button labeled "Next Page"
Then I should see "Consent"
And I should see "Displayed below is a read-only copy of your survey responses."
And I should see a checkbox labeled "I certify that all of my information in the document above is correct." that is unchecked
##VERIFY: cannot submit without attestation

And I should see a button labeled "Submit" that is disabled

When I check the checkbox labeled "I certify that all of my information in the document above is correct."
##VERIFY: can submit once attestation complete
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

Given I return to the REDCap page I opened the survey from
##VERIFY_RSD
And I click on the link labeled exactly "Record Status Dashboard"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1" for record "1"

When I locate the bubble for the "Consent" instrument on event "Event 1" for record ID "1" and click the new instance link
Then I should see "Editing existing Record ID 1.(Instance #2)"

Given I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box

When I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box

And I click on the button labeled "Next Page"
Then I should see "Displayed below is a read-only copy of your survey responses."
And I should see a button labeled "Previous Page"

#FUNCTIONAL_REQUIREMENT
##ACTION: click on previous page and cancel
When I click on the button labeled "Previous Page"
Then I should see "Erase your signature(s) in this survey?"

When I click on the button labeled "Cancel" in the dialog box
Then I should see "Displayed below is a read-only copy of your survey responses."

#FUNCTIONAL_REQUIREMENT
##ACTION: click on previous page and accept
When I click on the button labeled "Previous Page"
Then I should see "Erase your signature(s) in this survey?"
And I click on the button labeled "Erase my signature(s) and go to earlier page" in the dialog box
Then I should see "Consent"

#If there is no "Remove signature" link, there are no E-signatures present
Then I should NOT see a link labeled "Remove signature"

#These values are blank now
And I should see "" in the data entry form field "6) Signature"
And I should see "" in the data entry form field "7) Signature"
And I should see "" in the data entry form field "9) Signature"
#M: Close browser page

Given I return to the REDCap page I opened the survey from
And I click on the link labeled exactly "Record Status Dashboard"
When I locate the bubble for the "Consent" instrument on event "Event 1" for record ID "1" and click the repeating instrument bubble for the second instance
Then I should see "Editing existing Record ID 1.(Instance #2)"
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"

##VERIFY: partial survey completion not accepted
And I should see "You have partially completed this survey."

When I click on the button labeled "Start Over"
Then I should see an alert box with the following text: "ERASE YOUR RESPONSES?"

Then I should see "Consent"
And I should see "Name" in the data entry form field "1) Name"
And I should see "Name" in the data entry form field "2) Name"
And I should see "email@test.edu" in the data entry form field "3) Email"
And I should see "yyyy-mm-dd" in the data entry form field "4) DOB"
And I should see "signature_consent_2" in the data entry form field "6) Signature"
And I should see "signature_consent_3" in the data entry form field "7) Signature"
And I should see "signature_consent_5" in the data entry form field "9) Signature"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box

#M: Close browser page
Given I return to the REDCap page I opened the survey from
And I click on the link labeled exactly "Record ID 1"
##VERIFY_RSD
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument for instance 1 on event "Event 1"
Then I should see the "Partial Survey Response" icon for the "Consent" longitudinal instrument for instance 2 on event "Event 1"

##VERIFY_FiRe
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 1 File  |
  | Recycle Bin        |               | 0 Files |

Given I click on the link labeled "PDF Survey Archive" in the File Repository table
When I download the PDF by clicking on the link for Record "1" and Survey "Consent (Event 1 (Arm 1: Arm 1))" in the File Repository table
Then I should see the following values in the downloaded PDF for Record "1" and Survey "Consent (Event 1 (Arm 1: Arm 1))"
  | Response was added on mm/dd/yyyy                              |                     |
  | 1)Name                                                        | Name                |
  | 2)Name                                                        | Name                |
  | 3)Email                                                       | email@test.edu      |
  | 4)DOB                                                         | yyyy-mm-dd          |
  | 5)Signature                                                   |                     |
  | 6)Signature                                                   | signature_consent_2 |
  | 7)Signature                                                   | signature_consent_3 |
  | 8)Signature                                                   |                     |
  | 9)Signature                                                   | signature_consent_5 |
  | Name Name, yyyy-mm-dd, Version: version test, Type: type test |                     |

#M: Close document

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.400%20-%20REDUNDANT.feature

Feature: User Interface: The e-Consent framework shall support automatic archiving/storage of a PDF copy of the survey response in the project’s File Repository.

This feature test is REDUNDANT and can be viewed in C.3.24.200.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.500%20-%20REDUNDANT.feature

Feature: User Interface: The e-Consent framework shall support download of archived PDFs

This feature test is REDUNDANT and can be viewed in C.3.24.200.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.600%20-%20eConsent%20edit.feature

Feature: User Interface: The e-Consent framework shall support editing of responses by users.

As a REDCap end user I want to see that eConsent is functioning as expected

Scenario: C.3.24.600.100 Enable/disable edit ability for e-Consent framework #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named ” C.3.24.600.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##ACTION: e-consent survey settings - auto-archive and e-consent
When I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Consent"
And I select the radio option "Auto-Archiver + e-Consent Framework" for the e-consent Framework
And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved!"

##ACTION: add record
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 5."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
And I clear field and enter "Consent Name" into the data entry form field labeled "Name"
And I click on the button labeled "Next Page"
Then I should see a checkbox labeled "I certify that all of my information in the document above is correct." that is unchecked

When I check the checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"
And I click on the button labeled "Close survey"

Given I return to the REDCap page I opened the survey from
And I click on the link labeled exactly "Record ID 5"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "Event 1"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username            | Action            | List of Data Changes OR Fields Exported |
  | [survey respondent] | Update Response 5 | consent_complete = '2'                  |
  | [survey respondent] | Update Response 5 | name_consent = 'Consent Name'           |

##VERIFY_FiRe
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 1 File  |
  | Recycle Bin        |               | 0 Files |

Given I click on the link labeled "PDF Survey Archive" in the File Repository table
When I download the PDF by clicking on the link for Record "5" and Survey "Consent (Event 1 (Arm 1: Arm 1))" in the File Repository table
Then I should see the following values in the downloaded PDF for Record "5" and Survey "Consent (Event 1 (Arm 1: Arm 1))"
  | 1)Name | Consent Name |
#M: Close document

##ACTION: edit survey response
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Consent" instrument on event "Event 1" for record ID "5" and click on the bubble
And I click on the button labeled "Edit response"
Then I should see "Survey response is editable"
And I should see "(now editing)"

When I clear field and enter "Consent 2 Name" into the input field labeled "Name"
When I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument
Then I should see "Record ID 5 successfully edited."

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action          | List of Data Changes OR Fields Exported |
  | test_admin | Update record 5 | name_consent = 'Consent 2 Name'         |

##VERIFY_FiRe
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 1 File  |
  | Recycle Bin        |               | 0 Files |

#The PDF stays the same as before; eConsent changes only apply when you fill out via survey
Given I click on the link labeled "PDF Survey Archive" in the File Repository table
When I download the PDF by clicking on the link for Record "5" and Survey "Consent (Event 1 (Arm 1: Arm 1))" in the File Repository table
Then I should see the following values in the downloaded PDF for Record "5" and Survey "Consent (Event 1 (Arm 1: Arm 1))"
  | 1)Name | Consent Name |

#M: Close document

##ACTION: disable e-consent survey settings - auto-archive and e-consent
When I click on the link labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Consent"
And I uncheck the checkbox labeled "Allow e-Consent responses to be edited by users?"
And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved!"

##VERIFY: cannot edit survey response
When I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Consent" instrument on event "Event 1" for record ID "5" and click on the bubble
Then I should see "Survey response is read-only because it was completed via the e-Consent Framework."

##VERIFY_LOG
When I click on the link labeled "Logging"
And I should see "This module lists all changes made to this project"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Modify survey info                      |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.700%20-%20REDUNDANT.feature

Feature: User Interface: The e-Consent framework shall support a certification page at the end of the survey that displays an in-line PDF copy of their survey responses.

This feature test is REDUNDANT and can be viewed in C.3.24.200.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/e-Consent%20framework_24/C.3.24.800%20-%20eConsent%20repeat.feature

Feature: User Interface: The e-Consent framework shall support repeatable instruments and repeatable events

As a REDCap end user I want to see that eConsent is functioning as expected

Scenario: C.3.24.800.100 e-Consent framework & Repeatable instruments/events #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.3.24.800.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Consent.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#SETUP: Project Setup:modify repeating instruments
When I click on the button labeled "Modify" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section
Then I should see a dialog containing the following text: "WARNING"
And I click on the button labeled "Close" in the dialog box
And I select "Repeat Instruments (repeat independently of each other)" on the dropdown field labeled "Event 1 (Arm 1: Arm 1)"
And for the Event Name "Event 1 (Arm 1: Arm 1)", I check the checkbox labeled "Consent" in the dialog box
And I select "-- not repeating --" on the dropdown field labeled "Event 2 (Arm 1: Arm 1)"
And I select "Repeat Entire Event (repeat all instruments together)" on the dropdown field labeled "Event Three (Arm 1: Arm 1)"
And I click on the button labeled "Save" on the dialog box for the Repeatable Instruments and Events module
Then I should see "Successfully saved!"

#SETUP_eConsent
When I click on the button labeled "Designer"
And I click on the "Survey settings" button for the instrument row labeled "Consent"
And I select the radio option "Auto-Archiver + e-Consent Framework" for the e-consent Framework
And I click on the button labeled "Save Changes"
Then I should see "Your survey settings were successfully saved!"

#FUNCTIONAL_REQUIREMENT
##ACTION: instance 1 for event 1
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
Given I click the bubble to select a record for the "Consent" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 1."

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box

And I click on the button labeled "Next Page"
Then I should see "Consent"
And I should see "Displayed below is a read-only copy of your survey responses."
And I should see a checkbox labeled "I certify that all of my information in the document above is correct." that is unchecked
And I should see a button labeled "Submit" that is disabled
When I check the checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

##VERIFY_RSD
Given I return to the REDCap page I opened the survey from
And I click on the link labeled exactly "Record ID 1"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument for instance 1 on event "Event 1"

#FUNCTIONAL_REQUIREMENT
##ACTION: instance 2 for event 1
And I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Consent" instrument on event "Event 1" for record ID "1" and click the new instance link
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box

And I click on the button labeled "Next Page"
Then I should see "Consent"
And I should see "Displayed below is a read-only copy of your survey responses."
And I should see a checkbox labeled "I certify that all of my information in the document above is correct." that is unchecked
And I should see a button labeled "Submit" that is disabled
When I check the checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

##VERIFY_RSD
Given I return to the REDCap page I opened the survey from
And I click on the link labeled exactly "Record ID 1"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument for instance 2 on event "Event 1"

#FUNCTIONAL_REQUIREMENT
##ACTION: instance 1 for event 3
Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
When I locate the bubble for the "Consent" instrument on event "Event Three" for record ID "1" and click on the bubble
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box

And I click on the button labeled "Next Page"
Then I should see "Consent"
And I should see "Displayed below is a read-only copy of your survey responses."
And I should see a checkbox labeled "I certify that all of my information in the document above is correct." that is unchecked
And I should see a button labeled "Submit" that is disabled
When I check the checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

##VERIFY_RSD
Given I return to the REDCap page I opened the survey from
And I click on the link labeled exactly "Record ID 1"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument for instance 1 on event "Event 1"


#FUNCTIONAL_REQUIREMENT
##ACTION: instance 2 for event 3
Given I click on the link labeled "Record Status Dashboard"
Then I should see "Record Status Dashboard (all records)"
And I click on the link labeled exactly "1"
And I click on the button labeled "Add new"
And I click the bubble to add a record for the "Consent" longitudinal instrument on event "(#2)"
Then I should see "Editing existing Record ID 1"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I click on the button labeled "Okay" in the dialog box
And I click on the button labeled "Survey options"
And I click on the survey option label containing "Open survey" label
Then I should see "Consent"

When I click on the "Add signature" link for the field labeled "5) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box
Then I should see a link labeled "Remove signature"

When I click on the "Add signature" link for the field labeled "8) Signature"
And I see a dialog containing the following text: "Add signature"
And I draw a signature in the signature field area
When I click on the button labeled "Save signature" in the dialog box

And I click on the button labeled "Next Page"
Then I should see "Consent"
And I should see "Displayed below is a read-only copy of your survey responses."
And I should see a checkbox labeled "I certify that all of my information in the document above is correct." that is unchecked
And I should see a button labeled "Submit" that is disabled
When I check the checkbox labeled "I certify that all of my information in the document above is correct."
And I click on the button labeled "Submit"
Then I should see "Thank you for taking the survey."

##VERIFY_RSD
Given I return to the REDCap page I opened the survey from
And I click on the link labeled exactly "Record ID 1"
Then I should see the "Completed Survey Response" icon for the "Consent" longitudinal instrument on event "(#2)"
##VERIFY_LOG: Keeping here in case you change your mind and want to include something in logging. If you don't feel like its valuable, then delete

##VERIFY_FiRe
When I click on the link labeled "File Repository"
Then I should see a table header and rows containing the following values in the file repository table:
  | Name               | Time Uploaded | Size    |
  | Data Export Files  |               | 0 Files |
  | PDF Survey Archive |               | 4 File  |
  | Recycle Bin        |               | 0 Files |

When I click on the link labeled "PDF Survey Archive" in the File Repository table
Then I should see a table header and rows containing the following values in the file repository table:
  | Record | Survey                                  |
  | 1      | Consent (Event Three (Arm 1: Arm 1)) #2 |
  | 1      | Consent (Event Three (Arm 1: Arm 1)) #1 |
  | 1      | Consent (Event 1 (Arm 1: Arm 1)) #2     |
  | 1      | Consent (Event 1 (Arm 1: Arm 1)) #1     |
And I should see "Showing 1 to 4 of 4 entries"

Comments:

Comment:

Author: MintooXavier Updated on: 9/24/2024 10:20:29 AM

Comment body:

Scripts Pre-reviewed:

  1. C.3.24.100 - eConsent enable
  2. C.3.24.200 - eConsent footer
  3. C.3.24.300 - eConsent status
  4. C.3.24.400 - REDUNDANT
  5. C.3.24.500 - REDUNDANT
  6. C.3.24.600 - eConsent edit
  7. C.3.24.700 - REDUNDANT
  8. C.3.24.800 - eConsent repeat

Comment edits:

Created: 9/24/2024 10:20:29 AM Edited on: 9/24/2024 10:20:29 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.3.24.100 - eConsent enable
  2. C.3.24.200 - eConsent footer
  3. C.3.24.300 - eConsent status
  4. C.3.24.400 - REDUNDANT
  5. C.3.24.500 - REDUNDANT
  6. C.3.24.600 - eConsent edit
  7. C.3.24.700 - REDUNDANT
  8. C.3.24.800 - eConsent repeat

Created: 8/23/2024 12:35:33 PM Edited on: 8/23/2024 12:35:33 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.3.24.100 - eConsent enable - Cypress is selecting a different option and hence some steps are not correct. Script not working.
  2. C.3.24.200 - eConsent footer
  3. C.3.24.300 - eConsent status
  4. C.3.24.400 - REDUNDANT
  5. C.3.24.500 - REDUNDANT
  6. C.3.24.600 - eConsent edit
  7. C.3.24.700 - REDUNDANT
  8. C.3.24.800 - eConsent repeat

Created: 8/23/2024 10:12:09 AM Edited on: 8/23/2024 10:12:09 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.3.24.100 - eConsent enable - Cypress is selecting a different option and hence some steps are not correct. Script not working.
  2. C.3.24.200 - eConsent footer
  3. C.3.24.400 - REDUNDANT
  4. C.3.24.500 - REDUNDANT
  5. C.3.24.600 - eConsent edit
  6. C.3.24.700 - REDUNDANT
  7. C.3.24.800 - eConsent repeat

Created: 8/22/2024 3:20:52 PM Edited on: 8/22/2024 3:20:52 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.3.24.100 - eConsent enable - Cypress is selecting a different option and hence some steps are not correct. Script not working.
  2. C.3.24.400 - REDUNDANT
  3. C.3.24.500 - REDUNDANT
  4. C.3.24.600 - eConsent edit
  5. C.3.24.700 - REDUNDANT
  6. C.3.24.800 - eConsent repeat

Created: 8/22/2024 12:02:41 PM Edited on: 8/22/2024 12:02:41 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.3.24.100 - eConsent enable - Cypress is selecting a different option and hence some steps are not correct. Script not working.
  2. C.3.24.400 - REDUNDANT
  3. C.3.24.500 - REDUNDANT
  4. C.3.24.600 - eConsent edit
  5. C.3.24.700 - REDUNDANT

Created: 8/22/2024 12:02:41 PM Edited on: 8/22/2024 11:40:41 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.3.24.100 - eConsent enable

Comment:

Author: MintooXavier Updated on: 9/24/2024 10:22:07 AM

Comment body:
  1. C.3.24.100 - eConsent enable
    • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason.
    • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct)
    • Added a new step definition to select the options for e-consent Framework.
    • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected
    • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  2. C.3.24.200 - eConsent footer
    • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason.
    • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct)
    • Modified the e-consent Framework enabling step definition
    • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected
    • Added a new step definition to verify downloaded PDF does not contain the given text. (Please check - in mintoo.js). Added this to the script as well
    • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  3. C.3.24.300 - eConsent status
    • Modified the e-consent Framework enabling step definition
    • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  4. C.3.24.600 - eConsent edit
    • Modified the e-consent Framework enabling step definition
    • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?
    • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  5. C.3.24.800 - eConsent repeat
    • Modified the e-consent Framework enabling step definition
    • Modified the script to make Event Three a Repeated Event and modified steps to verify e-consent for repeating events
    • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

Added 2 new step definitions in mintoo.js. Pushed to branch (MX_v13.1.37, MX_v13.8.1 and redcap_val) in redcap_cypress

Comment edits:

Created: 9/24/2024 10:22:07 AM Edited on: 9/24/2024 10:22:07 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct) • Added a new step definition to select the options for e-consent Framework. • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  2. C.3.24.200 - eConsent footer • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct) • Modified the e-consent Framework enabling step definition • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected • Added a new step definition to verify downloaded PDF does not contain the given text. (Please check - in mintoo.js). Added this to the script as well • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  3. C.3.24.300 - eConsent status • Modified the e-consent Framework enabling step definition • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  4. C.3.24.600 - eConsent edit • Modified the e-consent Framework enabling step definition • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how? • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  5. C.3.24.800 - eConsent repeat • Modified the e-consent Framework enabling step definition • Modified the script to make Event Three a Repeated Event and modified steps to verify e-consent for repeating events • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

Added 2 new step definitions in mintoo.js. Pushed to branch (MX_v13.1.37, MX_v13.8.1 and redcap_val) in redcap_cypress - to enable e-consent Framework . - verify downloaded PDF does not contain the given text.

Created: 9/24/2024 9:53:44 AM Edited on: 9/24/2024 9:53:44 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct) • Added a new step definition to select the options for e-consent Framework. • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected • Script modified and pushed to MX_v13.1.37

  2. C.3.24.200 - eConsent footer • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct) • Modified the e-consent Framework enabling step definition • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected • Added a new step definition to verify downloaded PDF does not contain the given text. (Please check - in mintoo.js). Added this to the script as well • Script modified and pushed to MX_v13.1.37

  3. C.3.24.300 - eConsent status • Modified the e-consent Framework enabling step definition

  4. C.3.24.600 - eConsent edit • Modified the e-consent Framework enabling step definition • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?

  5. C.3.24.800 - eConsent repeat • Modified the e-consent Framework enabling step definition • Modified the script to make Event Three a Repeated Event and modified steps to verify e-consent for repeating events • Script modified and pushed to MX_v13.1.37

Added 2 new step definitions in mintoo.js. Pushed to branch (MX_v13.1.37, MX_v13.8.1 and redcap_val) in redcap_cypress - to enable e-consent Framework . - verify downloaded PDF does not contain the given text.

Created: 9/23/2024 10:40:57 AM Edited on: 9/23/2024 10:40:57 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct) • Added a new step definition to select the options for e-consent Framework. • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected • Script modified and pushed to MX_v13.1.37

  2. C.3.24.200 - eConsent footer • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct) • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected • Added a new step definition to verify downloaded PDF does not contain the given text. (Please check - in mintoo.js). Added this to the script as well • Script modified and pushed to MX_v13.1.37

  3. C.3.24.600 - eConsent edit • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?

  4. C.3.24.800 - eConsent repeat • Modified the script to make Event Three a Repeated Event and modified steps to verify e-consent for repeating events • Script modified and pushed to MX_v13.1.37

Added 2 new step definitions in mintoo.js. Pushed to branch (MX_v13.1.37, MX_v13.8.1 and redcap_val) in redcap_cypress - to enable e-consent Framework . - verify downloaded PDF does not contain the given text.

Created: 9/23/2024 10:33:54 AM Edited on: 9/23/2024 10:33:54 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct) • Added a new step definition to select the options for e-consent Framework. • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected • Script modified and pushed to MX_v13.1.37

  2. C.3.24.200 - eConsent footer • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct) • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected • Added a new step definition to verify downloaded PDF does not contain the given text. (Please check - in mintoo.js). Added this to the script as well • Script modified and pushed to MX_v13.1.37

  3. C.3.24.600 - eConsent edit • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?

  4. C.3.24.800 - eConsent repeat • Modified the script to add steps to verify e-consent for repeating event • Script modified and pushed to MX_v13.1.37

Added 2 new step definitions in mintoo.js. Pushed to branch (MX_v13.1.37, MX_v13.8.1 and redcap_val) in redcap_cypress - to enable e-consent Framework . - verify downloaded PDF does not contain the given text.

Created: 9/23/2024 8:38:58 AM Edited on: 9/23/2024 8:38:58 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct) • Added a new step definition to select the options for e-consent Framework. • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected • Script modified and pushed to MX_v13.1.37

  2. C.3.24.200 - eConsent footer • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct) • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected • Added a new step definition to verify downloaded PDF does not contain the given text. (Please check - in mintoo.js). Added this to the script as well • Script modified and pushed to MX_v13.1.37

  3. C.3.24.600 - eConsent edit • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?

  4. C.3.24.800 - eConsent repeat • Modified the script to add steps to verify e-consent for repeating event • Script modified and pushed to MX_v13.1.37

Added 2 new step definitions in mintoo.js. Pushed to branch (MX_v13.1.37, MX_v13.8.1 and redcap_val) in redca[_cypress - to enable e-consent Framework . - verify downloaded PDF does not contain the given text.

Created: 9/20/2024 11:21:20 AM Edited on: 9/20/2024 11:21:20 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script doesn’t work when extra steps are commented out as cypress is selecting a different option • Script modified and pushed to MX_v13.1.37

  2. C.3.24.200 - eConsent footer • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script doesn’t work when extra steps are commented out as cypress is selecting a different option • Script modified and pushed to MX_v13.1.37

  3. C.3.24.600 - eConsent edit • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?

  4. C.3.24.800 - eConsent repeat • Modified the script to add steps to verify e-consent for repeating event • Script modified and pushed to MX_v13.1.37

Added new step definition to enable e-consent Framework in mintoo.js. Push to branch (MX_v13.1.37, MX_v13.8.1 and redcap_val)

Created: 8/23/2024 10:15:00 AM Edited on: 8/23/2024 10:15:00 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script doesn’t work when extra steps are commented out as cypress is selecting a different option • Script modified and pushed to MX_v13.1.37

  2. C.3.24.200 - eConsent footer • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script doesn’t work when extra steps are commented out as cypress is selecting a different option • Script modified and pushed to MX_v13.1.37

  3. C.3.24.600 - eConsent edit • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?

  4. C.3.24.800 - eConsent repeat • Modified the script to add steps to verify e-consent for repeating event • Script modified and pushed to MX_v13.1.37

Created: 8/23/2024 10:11:40 AM Edited on: 8/23/2024 10:11:40 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script doesn’t work when extra steps are commented out as cypress is selecting a different option • Script modified and pushed to MX_v13.1.37

  2. C.3.24.200 - eConsent footer • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script doesn’t work when extra steps are commented out as cypress is selecting a different option • Script modified and pushed to MX_v13.1.37

  3. C.3.24.600 - eConsent edit • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?

  4. C.3.24.800 - eConsent repeat • Modified the script to verify e-consent for repeating event • Script modified and pushed to MX_v13.1.37

Created: 8/22/2024 3:22:52 PM Edited on: 8/22/2024 3:22:52 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script doesn’t work • Script modified and pushed to MX_v13.1.37

  2. C.3.24.600 - eConsent edit • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?

  3. C.3.24.800 - eConsent repeat • Modified the script to verify e-consent for repeating event • Script modified and pushed to MX_v13.1.37

Created: 8/22/2024 3:22:35 PM Edited on: 8/22/2024 3:22:35 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script doesn’t work • Script modified and pushed to MX_v13.1.37

  2. C.3.24.600 - eConsent edit • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?

  3. C.3.24.800 - eConsent repeat

    • Modified the script to verify e-consent for repeating event • Script modified and pushed to MX_v13.1.37

Created: 8/22/2024 3:22:20 PM Edited on: 8/22/2024 3:22:20 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script doesn’t work • Script modified and pushed to MX_v13.1.37

  2. C.3.24.600 - eConsent edit • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?

  3.  C.3.24.800 - eConsent repeat

    • Modified the script to verify e-consent for repeating event • Script modified and pushed to MX_v13.1.37

Created: 8/22/2024 12:03:02 PM Edited on: 8/22/2024 12:03:02 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script doesn’t work • Script modified and pushed to MX_v13.1.37

  2. C.3.24.600 - eConsent edit • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?

Created: 8/22/2024 11:49:04 AM Edited on: 8/22/2024 11:49:04 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script doesn’t work • Script modified and pushed to MX_v13.1.37

Created: 8/22/2024 11:49:04 AM Edited on: 8/22/2024 11:41:03 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.3.24.100 - eConsent enable • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason. • Some steps are not visible when ‘Auto-Archiver enabled’ is selected. This is not present in the original file in Theresa Baker’s repository • Script modified and pushed to MX_v13.1.37

Timeline events:

LABELLED | User: MintooXavier Created on: 7/29/2024 2:25:06 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/29/2024 2:25:06 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/29/2024 2:25:06 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/29/2024 2:25:06 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 8/22/2024 11:40:41 AM Issue comment body:

Scripts Pre-reviewed:

  1. C.3.24.100 - eConsent enable
  2. C.3.24.200 - eConsent footer
  3. C.3.24.300 - eConsent status
  4. C.3.24.400 - REDUNDANT
  5. C.3.24.500 - REDUNDANT
  6. C.3.24.600 - eConsent edit
  7. C.3.24.700 - REDUNDANT
  8. C.3.24.800 - eConsent repeat
ISSUE COMMENT | User: MintooXavier Created on: 8/22/2024 11:41:03 AM Issue comment body:
  1. C.3.24.100 - eConsent enable
    • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason.
    • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct)
    • Added a new step definition to select the options for e-consent Framework.
    • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected
    • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  2. C.3.24.200 - eConsent footer
    • When selecting ‘Auto-Archiver enabled’, Cypress is selecting ‘Auto-Archiver + e-Consent Framework’ for some reason.
    • Steps are not correct when ‘Auto-Archiver enabled’ is selected. This does not match with the original file in Theresa Baker’s repository (which is correct)
    • Modified the e-consent Framework enabling step definition
    • Modified the script to incorporate the actual steps when ‘Auto-Archiver enabled’ is selected
    • Added a new step definition to verify downloaded PDF does not contain the given text. (Please check - in mintoo.js). Added this to the script as well
    • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  3. C.3.24.300 - eConsent status
    • Modified the e-consent Framework enabling step definition
    • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  4. C.3.24.600 - eConsent edit
    • Modified the e-consent Framework enabling step definition
    • #The PDF stays the same as before; eConsent changes only apply when you fill out via survey – Should we test this but how?
    • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

  5. C.3.24.800 - eConsent repeat
    • Modified the e-consent Framework enabling step definition
    • Modified the script to make Event Three a Repeated Event and modified steps to verify e-consent for repeating events
    • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

Added 2 new step definitions in mintoo.js. Pushed to branch (MX_v13.1.37, MX_v13.8.1 and redcap_val) in redcap_cypress

LABELLED | User: MintooXavier Created on: 8/22/2024 3:23:11 PM Label name: Question Label description: Further information is requested


————— feature ends —————



Feature: 106. Data Resolution Workflow and Field Comments

Id: I_kwDOIaOBn86LVxl6 Uid: redcap_cypress-44
Author: MintooXavier Created: 6/6/2024 9:02:07 AM
Assignees: MintooXavier || CoreenDsouza Resource path: /CCTC-team/redcap_cypress/issues/44
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: REOPENED
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 4/24/2025 10:23:34 AM
Locked: false Participants: MintooXavier || CoreenDsouza

Project item body:

Brief description:
This data resolution workflow, often called ‘data queries’ in clinical trials and studies, can be utilized either on a data entry form or on the Data Quality page when finding data discrepancies. users will be allowed to open a workflow for documenting the process of resolving issues with data in the project (i.e. opening, responding to, and closing data queries).

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/106_data_resolution_workflow.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.200%20-%20DRW%20Open%20Close%20Respond%20to%20Queries.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.500%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.700%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.800%20-%20DRW%20Field%20Comments.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.900%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/106_data_resolution_workflow.spec

D.106.100 - The system shall allow Data Resolution Workflow privileges to be (No Access, View only, Open queries only, Respond only to opened queries, Open and respond to queries; Open, close, and respond to queries).
D.106.200 - The system shall support the ability to open, close, reopen and respond to queries.
D.106.300 - The system shall support the ability to filter issues based on records, fields, events and users.
D.106.400 - The system shall support the ability to upload files to queries.
D.106.500 - The system shall support the ability to email and send messages via REDCap messenger with a link to issues.
D.106.600 - The system shall have the ability to verify and de-verify data value based on user rights.
D.106.700 - The system shall have the ability to automatically de-verify data that has been verified and subsequently changed.
D.106.800 - The system shall have the ability to add comments to fields.
D.106.900 - The system shall have the ability to filter comments based on records, events, fields, users and keywords.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature

Feature: D.106.100 - The system shall allow Data Resolution Workflow privileges to be (No Access, View only, Open queries only, Respond only to opened queries, Open and respond to queries; Open, close, and respond to queries).

As a REDCap end user I want to see that Data Resolution Workflow privileges work as expected

Scenario: D.106.100 - Data Resolution Workflow privileges Given I login to REDCap with the user “Test_Admin” And I create a new project named “D.106.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

#ACTION: Enable the Data Resolution Workflow
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Additional customizations"
And I select "Data Resolution Workflow" on the dropdown field labeled "Enable:"
Then I click on the button labeled "Save"
Then I should see "The Data Resolution Workflow has now been enabled!"
And I click on the button labeled "Close" in the dialog box

#VERIFY_LOG
Given I click on the link labeled "Logging"
Then I should see a table header and row containing the following values in the logging table:
      | Date / Time      | Username   | Action        | List of Data Changes OR Fields Exported |
      | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Make project customizations             |

#ACTION: Add users 
Given I click on the link labeled "User Rights"
And I click on the button labeled "Upload or download users, roles, and assignments"
And I click on the link labeled "Upload users (CSV)"
And I upload a "csv" format file located at "import_files/redcap_val/D.106.100_Users.csv", by clicking the button near "Select your CSV file" to browse for the file, and clicking the button labeled "Upload" to upload the file
And I should see "Upload users (CSV) - Confirm"
And I click on the button labeled "Upload" in the dialog box
And I should see "5 users were added or updated"
And I click on the button labeled "Close" in the dialog box

Given I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
And I enter "Test" into the input field labeled "Text2"
Then I select the submit option labeled "Save & Stay" on the Data Collection Instrument

#ACTION: Open a query and verify data
When I click on the Comment icon for the field labeled "Text Box"
Then  I should see "Data Resolution Workflow" in the dialog box
And I select the radio option Open query in Data Resolution Workflow
And I enter "Query 1" in the comment box in Data Resolution Workflow
And I click on the button labeled "Open query" in the dialog box
Then I should see a Small Exclamation icon for the field labeled "Text Box"
When I click on the Comment icon for the field labeled "Notes Box"
And I select the radio option Verified data value in Data Resolution Workflow
And I click on the button labeled "Verified data value" in the dialog box
Then I should see a Tick icon for the field labeled "Notes Box"
And I logout

#ACTION: Verify access right - 'Open close and respond to queries', 'verify/de-verify'
Given I login to REDCap with the user "Test_User1" 
And I click on the link labeled "My Projects"
And I click on the link labeled "D.106.100"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
And I click on the Small Exclamation icon for the field labeled "Text Box"
Then I should see a table header and row containing the following values in a table:
  | Date / Time      | User       | Comments and Details                  | 
  | mm/dd/yyyy hh:mm | Test_Admin | Action:Opened query Comment:“Query 1” |

Then I should see "Reply with response"
Then I should see "Close the query"
And I should NOT see "Verified data value"
And I click on the button labeled "Cancel" in the dialog box
And I click on the Comment icon for the field labeled "Text2"
Then I should see "Verified data value"
And I should see "Open query"
And I click on the button labeled "Cancel" in the dialog box
And I click on the Tick icon for the field labeled "Notes Box"
Then I should see a table header and row containing the following values in a table:
  | Date / Time      | User       | Comments and Details       | 
  | mm/dd/yyyy hh:mm | Test_Admin | Action:Verified data value |

Then I should see "De-verify data value"
And I click on the button labeled "Cancel" in the dialog box
And I logout

#ACTION: Verify access right - 'Respond only to open queries', No access to 'verify/de-verify'
Given I login to REDCap with the user "Test_User2" 
And I click on the link labeled "My Projects"
And I click on the link labeled "D.106.100"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
And I click on the Small Exclamation icon for the field labeled "Text Box"
Then I should see a table header and row containing the following values in a table:
  | Date / Time      | User       | Comments and Details                  | 
  | mm/dd/yyyy hh:mm | Test_Admin | Action:Opened query Comment:“Query 1” |

Then I should see "Reply with response"
Then I should NOT see "Close the query"
And I click on the button labeled "Cancel" in the dialog box
Given I click on the Comment icon for the field labeled "Name"
Then I should NOT see "Open query"
And I should NOT see "Verified data value"
And I should see "Awaiting action by user with sufficient user privileges"
#There is no 'Close' button, but an 'x' icon and its label is 'Close'. There is no other step to match
And I click on the button labeled "Close" in the dialog box
And I click on the Tick icon for the field labeled "Notes Box"
Then I should see a table header and row containing the following values in a table:
  | Date / Time      | User       | Comments and Details       | 
  | mm/dd/yyyy hh:mm | Test_Admin | Action:Verified data value |

And I should see "Awaiting action by user with sufficient user privileges"
Then I should NOT see "De-verify data value"
#There is no 'Close' button, but an 'x' icon and its label is 'Close'. There is no other step to match
And I click on the button labeled "Close" in the dialog box
And I logout

#ACTION: Verify User right - 'Open queries only', 'verify/de-verify'
Given I login to REDCap with the user "Test_User3" 
And I click on the link labeled "My Projects"
And I click on the link labeled "D.106.100"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
And I click on the Small Exclamation icon for the field labeled "Text Box"
Then I should see a table header and row containing the following values in a table:
  | Date / Time      | User       | Comments and Details                  | 
  | mm/dd/yyyy hh:mm | Test_Admin | Action:Opened query Comment:“Query 1” |

Then I should NOT see "Close the query"
And I should NOT see "Respond to query"
And I should see "Awaiting action by user with sufficient user privileges"
And I click on the button labeled "Close" in the dialog box
#There is no 'Close' button, but an 'x' icon and its label is 'Close'. There is no other step to match
And I click on the Comment icon for the field labeled "Name"
Then I should see "Open query"
And I should see "Verified data value"
And I click on the button labeled "Cancel" in the dialog box
And I click on the Tick icon for the field labeled "Notes Box"
Then I should see a table header and row containing the following values in a table:
      | Date / Time      | User       | Comments and Details       | 
      | mm/dd/yyyy hh:mm | Test_Admin | Action:Verified data value |

Then I should see "De-verify data value"
And I click on the button labeled "Cancel" in the dialog box
And I logout

#ACTION: Verify User right - 'Open and respond to queries', 'verify/de-verify'
Given I login to REDCap with the user "Test_User4" 
And I click on the link labeled "My Projects"
And I click on the link labeled "D.106.100"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
And I click on the Small Exclamation icon for the field labeled "Text Box"
Then I should see a table header and row containing the following values in a table:
  | Date / Time      | User       | Comments and Details                  | 
  | mm/dd/yyyy hh:mm | Test_Admin | Action:Opened query Comment:“Query 1” |

Then I should NOT see "Close the query"
And I should see "Reply with response:"
And I click on the button labeled "Cancel" in the dialog box
And I click on the Comment icon for the field labeled "Name"
Then I should see "Open query"
And I should see "Verified data value"
And I click on the button labeled "Cancel" in the dialog box
And I click on the Tick icon for the field labeled "Notes Box"
Then I should see a table header and row containing the following values in a table:
  | Date / Time      | User       | Comments and Details       | 
  | mm/dd/yyyy hh:mm | Test_Admin | Action:Verified data value |

Then I should see "De-verify data value"
And I click on the button labeled "Cancel" in the dialog box
And I logout

#ACTION: Assign user rights
Given I login to REDCap with the user "Test_Admin" 
And I click on the link labeled "My Projects"
And I click on the link labeled "D.106.100"
When I click on the link labeled "User Rights"
And I click on the link labeled "test_user3"
And I click on the button labeled "Edit user privileges"
And I select the User Right named Data Resolution Workflow and choose No Access
And I click on the button labeled "Save Changes"
Then I should see 'User "test_user3" was successfully edited'
And I click on the link labeled "test_user4"
And I click on the button labeled "Edit user privileges"
And I select the User Right named Data Resolution Workflow and choose View only
And I click on the button labeled "Save Changes"
Then I should see 'User "test_user4" was successfully edited'
And I logout

#ACTION: Verify access right - 'No Access', No access to 'verify/de-verify'
Given I login to REDCap with the user "Test_User3" 
And I click on the link labeled "My Projects"
And I click on the link labeled "D.106.100"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
Then I should NOT see a Small Exclamation icon for the field labeled "Text Box"
And I should NOT see a Comment icon for the field labeled "Name" 
And I should NOT see a Tick icon for the field labeled "Notes Box" 
And I logout

#ACTION: Verify access right - 'View only', No access to 'verify/de-verify'
Given I login to REDCap with the user "Test_User4" 
And I click on the link labeled "My Projects"
And I click on the link labeled "D.106.100"
And I click on the link labeled "Record Status Dashboard"
When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
#The below step shows a new query cannot be opened and cannot verify data value
Then I should NOT see a Comment icon for the field labeled "Name"
Given I click on the Small Exclamation icon for the field labeled "Text Box"
Then I should see a table header and row containing the following values in a table:
  | Date / Time      | User       | Comments and Details                  | 
  | mm/dd/yyyy hh:mm | Test_Admin | Action:Opened query Comment:“Query 1” |

Then I should NOT see "Close the query"
Then I should NOT see "Respond to query"
And I should see "Awaiting action by user with sufficient user privileges"
#There is no 'Close' button, but an 'x' icon and its label is 'Close'. There is no other step to match
And I click on the button labeled "Close" in the dialog box
Given I click on the Tick icon for the field labeled "Notes Box"
Then I should see a table header and row containing the following values in a table:
  | Date / Time      | User       | Comments and Details       | 
  | mm/dd/yyyy hh:mm | Test_Admin | Action:Verified data value |

And I should see "Awaiting action by user with sufficient user privileges"
Then I should NOT see "De-verify data value"
#There is no 'Close' button, but an 'x' icon and its label is 'Close'. There is no other step to match
And I click on the button labeled "Close" in the dialog box
And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.200%20-%20DRW%20Open%20Close%20Respond%20to%20Queries.feature

Feature: D.106.200 - The system shall support the ability to open, close, reopen and respond to queries.

  As a REDCap end user
  I want to see that Data Resolution Workflow works as expected

  Scenario: D.106.200 - Open, close, reopen and respond to queries
        Given I login to REDCap with the user "Test_User1" 
        And I create a new project named "D.106.200" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val.xml", and clicking the "Create Project" button

        #Enable the Data Resolution Workflow (Data Queries)
        Given I click on the link labeled "Project Setup"
        And I click on the button labeled "Additional customizations"
        And I select "Data Resolution Workflow" in the dropdown field labeled "Enable:"
        Then I click on the button labeled "Save"
        Then I should see "The Data Resolution Workflow has now been enabled!"
        And I click on the button labeled "Close" in the dialog box

        #ACTION: Import data 
        Given I click on the link labeled "Data Import Tool"
        And  I upload a "csv" format file located at "import_files/redcap_val/redcap_val_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
        And I should see "Your document was uploaded successfully and is ready for review."
        And I click on the button labeled "Import Data"
        Then I should see "Import Successful!"

        #ACTION: Add users 
        When I click on the link labeled "User Rights"
        And I enter "Test_User2" into the input field labeled "Add with custom rights"
        And I click on the button labeled "Add with custom rights"
        Then I should see a dialog containing the following text: "Adding new user"
        And I select the User Right named Data Resolution Workflow and choose Open, close, and respond to queries
        And I click on the button labeled "Add user" in the dialog box
        Then I should see a table header and rows containing the following values in a table:
        | Role name | Username                |
        | —         | test_user1 (Test User1) |
        | —         | test_user2 (Test User2) |

        And I click on the link labeled "test_user1"
        And I click on the button labeled "Edit user privileges"
        And I select the User Right named Data Resolution Workflow and choose Open, close, and respond to queries
        And I click on the button labeled "Save Changes"
        Then I should see 'User "test_user1" was successfully edited'

        #ACTION: Open a new query and 'Assign Query' and notify via Email and Messenger
        Given I click on the link labeled "Record Status Dashboard"
        When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
        And I click on the Comment icon for the field labeled "Email"
        Then  I should see "Data Resolution Workflow" in the dialog box
        And I select the radio option Open query in Data Resolution Workflow
        Then I select the dropdown option "Test_User2 (Test User2)" in Data Resolution Workflow
        And I select the checkboxes option Email in Data Resolution Workflow
        And I select the checkboxes option REDCap Messenger in Data Resolution Workflow
        And I enter "Query 1" in the comment box in Data Resolution Workflow
        And I click on the button labeled "Open query" in the dialog box
        Then I should see a Small Exclamation icon for the field labeled "Email"
        And I logout

        #VERIFY D.106.500 - Email
        Given I open Email
        Then I should see an email for user "Test_User2" with subject "[REDCap] You were assigned to a data query"
        
        #ACTION: Verify notification on Messenger and respond to query by uploading a file
        Given I login to REDCap with the user "Test_User2" 
        And I click on the link labeled "My Projects"
        And I click on the link labeled "D.106.200"
        Then I should see "Record Status Dashboard"
        #VERIFY D.106.500 - REDCap Messenger
        And I click on the link labeled "REDCap Messenger"
        Then I should see "Assigned to a data query" 
        And I click on the link labeled "Resolve Issues"
        And I click on the button labeled "1 comment"
        Then I should see "Data Resolution Workflow" in the dialog box
        And I should see a table header and row containing the following values in a table:
              | Date / Time      | User       | Comments and Details                                         | 
              | mm/dd/yyyy hh:mm | Test_User1 | Action:Opened query Assigned to user:Test_User2 (Test User2) Comment:“Query 1” |

        #VERIFY D.106.400 - Upload file to Query
        And I select the dropdown option "Verified - Confirmed correct (no error)" in Data Resolution Workflow
        Then I click on the link labeled "Upload file"
        Then I upload a "csv" format file located at "/import_files/B.3.16.600_DataImport.csv", by clicking the button near "Select a file then click the 'Upload File' button" to browse for the file, and clicking the button labeled "Upload document" to upload the file
        Then I should see "Document was successfully uploaded!"
        And I click on the button labeled "Close" in the dialog box
        And I enter "The value is correct - B.3.16.600_DataImport.csv uploaded" in the comment box in Data Resolution Workflow
        And I click on the button labeled "Respond to query" in the dialog box
        Then I should see "Data Resolution Dashboard"
        When I click on the button labeled "2 comments"
        Then I should see "Data Resolution Workflow" in the dialog box
        And I should see a table header and row containing the following values in a table:
              | Date / Time      | User       | Comments and Details                                                                               | 
              | mm/dd/yyyy hh:mm | Test_User2 | Response:Verified - Confirmed correct (no error) Uploaded file:B.3.16.600_DataImport.... (0.01 MB) Comment:“The value is correct - B.3.16.600_DataImport.csv uploaded” |

        And  I click on the link labeled "B.3.16.600_DataImport.... (0.01 MB)" 
        Then the downloaded CSV with filename "B.3.16.600_DataImport.csv" has the header below
              | record_id | redcap_survey_identifier | data_types_timestamp | ptname | textbox | radio | notesbox | identifier | identifier_2 | date_ymd | datetime_ymd_hmss | data_types_complete |

        And I select the radio option Send back for further attention in Data Resolution Workflow
        And I clear field and enter "Please clarify" in the comment box in Data Resolution Workflow
        When I click on the button labeled "Send back for further attention" in the dialog box
        Then I should see "Data Resolution Dashboard"

        Given I click on the link labeled "Record Status Dashboard"
        When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
        Then I should see a Small Exclamation icon for the field labeled "Email"
        And I logout

        Given I login to REDCap with the user "Test_User1"
        And I click on the link labeled "My Projects"
        And I click on the link labeled "D.106.200"
        And I click on the link labeled "Record Status Dashboard"
        When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
        And I click on the Small Exclamation icon for the field labeled "Email"
        Then I should see "Data Resolution Workflow" in the dialog box
        And I should see a table header and row containing the following values in a table:
              | Date / Time      | User       | Comments and Details                                            | 
              | mm/dd/yyyy hh:mm | Test_User2 | Action:Sent back for further attention Comment:“Please clarify” |

        And I select the radio option Close the query in Data Resolution Workflow
        And I enter "Closed" in the comment box in Data Resolution Workflow
        And I click on the button labeled "Close the query" in the dialog box
        Then I should see a Small Tick icon for the field labeled "Email"
        Given I click on the Small Tick icon for the field labeled "Email"
        Then I should see "Data Resolution Workflow" in the dialog box
        And I should see a table header and row containing the following values in a table:
              | Date / Time      | User       | Comments and Details                 | 
              | mm/dd/yyyy hh:mm | Test_User1 | Action:Closed query Comment:“Closed” |

        When I check the checkbox labeled "Reopen the closed query" 
        And I enter "Reopen the closed query" in the comment box in Data Resolution Workflow
        And I click on the button labeled "Reopen query" in the dialog box
        Then I should see a Small Exclamation icon for the field labeled "Email"
        Given I click on the Small Exclamation icon for the field labeled "Email"
        Then I should see "Data Resolution Workflow" in the dialog box
        And I should see a table header and row containing the following values in a table:
              | Date / Time      | User       | Comments and Details                                    | 
              | mm/dd/yyyy hh:mm | Test_User1 | Action:Reopened query Comment:“Reopen the closed query” |

        And I click on the radio labeled "Close the query" in the dialog box
        And I enter "Closed" in the comment box in Data Resolution Workflow
        And I click on the button labeled "Close the query" in the dialog box
        Then I should see a Small Tick icon for the field labeled "Email"
        Given I click on the link labeled "Record Status Dashboard"
        When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "2" and click on the bubble
        And I click on the Comment icon for the field labeled "Name"
        When I select the radio option Open query in Data Resolution Workflow
        And I select the dropdown option "test_user1 (Test User1)" in Data Resolution Workflow
        And I enter "Query 2" in the comment box in Data Resolution Workflow
        And I click on the button labeled "Open query" in the dialog box
        Then I should see a Small Exclamation icon for the field labeled "Name"
  
        ##VERIFY_LOG
        Given I click on the link labeled "Logging"
        Then I should see a table header and row containing the following values in a table:
              | Date / Time      | Username   | Action        | List of Data Changes OR Fields Exported                                                                                                                 |
              | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Open data query (Record: 2, Event: Event 1 (Arm 1: Arm 1), Field: ptname, Comment: "Query 2")                                                           |
              | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Close data query (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: email_v2, Comment: "Closed")                                                         |
              | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Open data query (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: email_v2, Comment: "Reopen the closed query")                                         |
              | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Close data query (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: email_v2, Comment: "Closed")                                                         |
              | mm/dd/yyyy hh:mm | test_user2 | Manage/Design | Send data query back for further attention (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: email_v2, Comment: "Please clarify")                       |
              | mm/dd/yyyy hh:mm | test_user2 | Manage/Design | Download uploaded document for data query response (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: email_v2)                                          |
              | mm/dd/yyyy hh:mm | test_user2 | Manage/Design | Respond to data query (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: email_v2, Comment: "The value is correct - B.3.16.600_DataImport.csv uploaded") |
              | mm/dd/yyyy hh:mm | test_user2 | Manage/Design | Upload document for data query response (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: email_v2)                                                     |
              | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Open data query (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: email_v2, Comment: "Query 1")                                                         |
              | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Make project customizations                                                                                                                             |
        
  Scenario: D.106.300 - Filtering
        When I click on the link labeled "Resolve Issues"
        And I select the option "All status types (2)" from the dropdown field for Status in Data Resolution Dashboard
        Then I should see a table rows containing the following values in a table:
              | 1                      | email_v2 | Test_User2 | Test_User1 | Test_User1             |
              | Event 1 (Arm 1: Arm 1) | (Email)  | Test_User2 | "Query 1"  | "Closed"               |
              | 2 (#1)                 | ptname   | Test_User1 | Test_User1 | [same as first update] |
              | Event 1 (Arm 1: Arm 1) | (Name)   | Test_User1 | "Query 2"  | [same as first update] |
  
        When I click on the button labeled "Export" 
        Then the downloaded CSV with filename "D106200_DataResolutionDashboard_yyyy-mm-dd_hhmm.csv" has the header and rows below
              | Current Query Status | Number of comments | Record (Sorted by DAG) | Data Access Group | Event                  | Data Quality Rule | Field            | User Assigned | Days Open |
              | CLOSED               | 6                  | 1                      |                   | Event 1 (Arm 1: Arm 1) |                   | email_v2 (Email) | Test_User2    | 0         |
              | OPEN                 | 1                  | 2 (#1)                 |                   | Event 1 (Arm 1: Arm 1) |                   | ptname (Name)    | Test_User1    | 0         |
        
        When I click on the link labeled "Resolve Issues"
        And I select the option "Open / unresolved issues (1)" from the dropdown field for Status in Data Resolution Dashboard
        Then I should see a table rows containing the following values in a table:
              | 2 (#1)                 | ptname   | Test_User1 | Test_User1 | [same as first update] |
              | Event 1 (Arm 1: Arm 1) | (Name)   | Test_User1 | "Query 2"  | [same as first update] |

        When I select the option "All status types (2)" from the dropdown field for Status in Data Resolution Dashboard
        And I select the option "email_v2 (1)" from the dropdown field for Field Rule in Data Resolution Dashboard
        Then I should see a table rows containing the following values in a table:
              | 1                      | email_v2 | Test_User2 | Test_User1 | Test_User1             |
              | Event 1 (Arm 1: Arm 1) | (Email)  | Test_User2 | "Query 1"  | "Closed"               |

        When I select the option "Event 1 (Arm 1: Arm 1)" from the dropdown field for Event in Data Resolution Dashboard
        Then I should see a table rows containing the following values in a table:
              | 1                      | email_v2 | Test_User2 | Test_User1 | Test_User1             |
              | Event 1 (Arm 1: Arm 1) | (Email)  | Test_User2 | "Query 1"  | "Closed"               |
        
        When I select the option "Test_User1 (Test User1)" from the dropdown field for Assigned User in Data Resolution Dashboard
        Then I should see "No results to display"

        When I select the option "All fields" from the dropdown field for Field Rule in Data Resolution Dashboard
        Then I should see a table rows containing the following values in a table:
              | 2 (#1)                 | ptname   | Test_User1 | Test_User1 | [same as first update] |
              | Event 1 (Arm 1: Arm 1) | (Name)   | Test_User1 | "Query 2"  | [same as first update] |
        
        When I select the option "DAG1" from the dropdown field for DAG in Data Resolution Dashboard
        Then I should see "No results to display"
        And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.300%20-%20REDUNDANT.feature

Feature: D.106.300 - The system shall support the ability to filter issues based on records, fields, events and users.

This feature test is REDUNDANT and can be viewed in D.106.200

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.400%20-%20REDUNDANT.feature

Feature: D.106.400 - The system shall support the ability to upload files to queries.

This feature test is REDUNDANT and can be viewed in D.106.200

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.500%20-%20REDUNDANT.feature

Feature: D.106.500 - The system shall support the ability to email and send messages via REDCap messenger with a link to issues.

This feature test is REDUNDANT and can be viewed in D.106.200

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature

Feature: D.106.600 Data Resolution Workflow

As a REDCap end user I want to see that I have the ability to verify and de-verify data value based on user rights I want to see that I have the ability to automatically de-verify data that has been verified and subsequently changed

Scenario: D.106.600 - Verify and de-verify data Given I login to REDCap with the user “Test_User1” And I create a new project named “D.106.600” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

  #ACTION: Enable the Data Resolution Workflow (Data Queries)
  Given I click on the link labeled "Project Setup"
  And I click on the button labeled "Additional customizations"
  And I select "Data Resolution Workflow" in the dropdown field labeled "Enable:"
  Then I click on the button labeled "Save"
  Then I should see "The Data Resolution Workflow has now been enabled!"
  And I click on the button labeled "Close" in the dialog box

 #ACTION: Import data 
  Given I click on the link labeled "Data Import Tool"
  And  I upload a "csv" format file located at "import_files/redcap_val/redcap_val_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
  And I should see "Your document was uploaded successfully and is ready for review."
  And I click on the button labeled "Import Data"
  Then I should see "Import Successful!"

  #ACTION: Edit User rights to verify/de-verify data
  Given I click on the link labeled "User Rights"
  And I click on the link labeled "test_user1"
  And I click on the button labeled "Edit user privileges"
  And I select the User Right named Data Resolution Workflow and choose Open, close, and respond to queries
  And I click on the button labeled "Save Changes"
  Then I should see 'User "test_user1" was successfully edited'

  #ACTION: Verify and de-verify data
  Given I click on the link labeled "Record Status Dashboard"
  When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
  And I click on the Comment icon for the field labeled "Name"
  Then I should see "Data Resolution Workflow" in the dialog box
  And I should see a table header and row containing the following values in a table:
        | Date / Time      | User       | Comments and Details                           | 
        | mm/dd/yyyy hh:mm | test_user1 | Data Changes Made: ptname_v2_v2 = 'Tony Stone' |

  When I select the radio option Verified data value in Data Resolution Workflow
  And I enter "Test Verify Data" in the comment box in Data Resolution Workflow
  And I click on the button labeled "Verified data value" in the dialog box
  Then I should see a Tick icon for the field labeled "Name"
  
  Given I click on the link labeled "Resolve Issues"
  And I select the option "All status types (1)" from the dropdown field for Status in Data Resolution Dashboard
  Then I should see a table row containing the following values in a table:
        | 1                      | ptname_v2_v2 | Test_User1 | Test_User1         | [same as first update] |
        | Event 1 (Arm 1: Arm 1) | (Name)       | Test_User1 | "Test Verify Data" | [same as first update] |

  Given I click on the link labeled "Record Status Dashboard"
  When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
  And I click on the Tick icon for the field labeled "Name"
  Then I should see "Data Resolution Workflow" in the dialog box
  And I should see a table header and rows containing the following values in a table:
        | Date / Time      | User       | Comments and Details                                  | 
        | mm/dd/yyyy hh:mm | test_user1 | Data Changes Made: ptname_v2_v2 = 'Tony Stone'        |
        | mm/dd/yyyy hh:mm | Test_User1 | Action:Verified data value Comment:“Test Verify Data” |
  
  When I select the radio option De-verify data value in Data Resolution Workflow
  And I click on the button labeled "De-verify data value" in the dialog box
  Then I should see a dialog containing the following text: "A comment is required. Please enter a comment." 
  And I click on the button labeled "Close" in the dialog box
  And I enter "Test De-verify Data" in the comment box in Data Resolution Workflow
  And I click on the button labeled "De-verify data value" in the dialog box
  Then I should see an Exclamation icon for the field labeled "Name"
  And I wait for 1 second
  When I click on the Exclamation icon for the field labeled "Name"
  Then I should see "Data Resolution Workflow" in the dialog box
  And I should see a table header and rows containing the following values in a table:
        | Date / Time      | User       | Comments and Details                                        | 
        | mm/dd/yyyy hh:mm | test_user1 | Data Changes Made: ptname_v2_v2 = 'Tony Stone'              |
        | mm/dd/yyyy hh:mm | Test_User1 | Action:Verified data value Comment:“Test Verify Data”       |
        | mm/dd/yyyy hh:mm | Test_User1 | Action:De-verified data value Comment:“Test De-verify Data” |
  
  And I click on the button labeled "Cancel" in the dialog box

  Given I click on the link labeled "Resolve Issues"
  And I select the option "All status types (1)" from the dropdown field for Status in Data Resolution Dashboard
  Then I should see a table rows containing the following values in a table:
        | 1                      | ptname_v2_v2 | Test_User1 | Test_User1         | Test_User1            |
        | Event 1 (Arm 1: Arm 1) | (Name)       | Test_User1 | "Test Verify Data" | "Test De-verify Data" |

Scenario: D.106.700 - Automatically De-verify data when verified data is changed Given I click on the link labeled “Record Status Dashboard” When I locate the bubble for the “Text Validation” instrument on event “Event 1” for record ID “1” and click on the bubble And I click on the Exclamation icon for the field labeled “Name” Then I should see “Data Resolution Workflow” in the dialog box And I should see “Data De-verified” When I select the radio option Verified data value in Data Resolution Workflow And I click on the button labeled “Verified data value” in the dialog box Then I should NOT see “Data Resolution Workflow” Then I should see a Tick icon for the field labeled “Name” Given I clear field and enter “John” into the input field labeled “Name” And I select the submit option labeled “Save & Stay” on the Data Collection Instrument Then I should see an Exclamation icon for the field labeled “Name” And I click on the Exclamation icon for the field labeled “Name” Then I should see “Data Resolution Workflow” in the dialog box And I should see a table header and rows containing the following values in a table: | Date / Time | User | Comments and Details | | mm/dd/yyyy hh:mm | test_user1 | Data Changes Made: ptname_v2_v2 = ‘John’ | | mm/dd/yyyy hh:mm | Test_User1 | Action:De-verified data value (automatically via data change) |

  And I click on the button labeled "Cancel" in the dialog box

  ##VERIFY_LOG
  When I click on the link labeled "Logging"
  Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action                                   | List of Data Changes OR Fields Exported                                                                                |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design                            | De-verified data value (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: ptname_v2_v2)                                 |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 1 (Event 1 (Arm 1: Arm 1)) | ptname_v2_v2 = 'John'                                                                                                  |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design                            | Verified data value (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: ptname_v2_v2)                                    |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design                            | De-verified data value (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: ptname_v2_v2, Comment: "Test De-verify Data") |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design                            | Verified data value (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: ptname_v2_v2, Comment: "Test Verify Data")       |

  And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.700%20-%20REDUNDANT.feature

Feature: D.106.700 - The system shall have the ability to automatically de-verify data that has been verified and subsequently changed.

This feature test is REDUNDANT and can be viewed in D.106.600

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.800%20-%20DRW%20Field%20Comments.feature

Feature: D.106.800 Data Resolution Workflow

As a REDCap end user I want to see that I have the ability to add comments to fields. I want to see that I have the ability to filter comments based on records, events, fields, users and keywords.

Scenario: D.106.800 - Field comments Given I login to REDCap with the user “Test_User1” And I create a new project named “D.106.800” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button

  #ACTION: Verify Field Comment Log is enabled
  Given I click on the link labeled "Project Setup"
  And I click on the button labeled "Additional customizations"
  Then I should see the dropdown field labeled "Enable:" with the option "Field Comment Log" selected
  And I should see a checkbox labeled "Allow users to edit or delete Field Comments" that is checked
  And I click on the button labeled "Cancel"

 #ACTION: Import data 
  Given I click on the link labeled "Data Import Tool"
  And  I upload a "csv" format file located at "import_files/redcap_val/redcap_val_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
  And I should see "Your document was uploaded successfully and is ready for review."
  And I click on the button labeled "Import Data"
  Then I should see "Import Successful!"

  #ACTION: Add Test_User2 
  When I click on the link labeled "User Rights"
  And I enter "Test_User2" into the input field labeled "Add with custom rights"
  And I click on the button labeled "Add with custom rights"
  Then I should see a dialog containing the following text: "Adding new user"
  And I click on the button labeled "Add user" in the dialog box
  Then I should see a table header and rows containing the following values in a table:
  | Role name | Username                |
  | —         | test_user1 (Test User1) |
  | —         | test_user2 (Test User2) |

  #ACTION: Add field comments. Users can Edit/Delete Comments
  And I click on the link labeled "Record Status Dashboard"
  When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
  And I click on the Comment icon for the field labeled "Name"
  Then I enter "Comment 1" in the comment box in Field Comment Log
  And I click on the button labeled "Comment" in the dialog box
  Then I should see a Comment icon for the field labeled "Name"
  # Clicking on Record Status dashboard again else comment dialog box gets closed off automatically
  Given I click on the link labeled "Record Status Dashboard"
  When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
  And I click on the Comment icon for the field labeled "Name"
  Then I should see "Field Comment Log" in the dialog box
  And I should see a table header and row containing the following values in a table:
        |              | Date / Time      | User       | Comments  | 
        |[icon] [icon] | mm/dd/yyyy hh:mm | Test_User1 | Comment 1 |

  When I click on the Edit icon for the Comment "Comment 1"
  And I clear field and enter "Comment 10" in the comment box for the editted comment "Comment 1" in Field Comment Log
  And I click on the button labeled "Save" in the dialog box
  Then I should see a table header and row containing the following values in a table:
        |              | Date / Time      | User       | Comments   | 
        |[icon] [icon] | mm/dd/yyyy hh:mm | Test_User1 | Comment 10 |

  And I enter "Comment 2" in the comment box in Field Comment Log
  And  I click on the button labeled "Comment" in the dialog box
  Then I should see a Comment icon for the field labeled "Name"
  # Clicking on Record Status dashboard again else comment dialog box gets closed off automatically
  Given I click on the link labeled "Record Status Dashboard"
  When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
  And I click on the Comment icon for the field labeled "Name"
  Then I should see "Field Comment Log" in the dialog box
  And I should see a table header and row containing the following values in a table:
        |              | Date / Time      | User       | Comments   |
        |[icon] [icon] | mm/dd/yyyy hh:mm | Test_User1 | Comment 10 |
        |[icon] [icon] | mm/dd/yyyy hh:mm | Test_User1 | Comment 2  |

  When I click on the Delete icon for the Comment "Comment 10"
  Then I should see "Delete this Field Comment?" in the dialog box
  And I click on the button labeled "Delete"
  Then I should see a table header and row containing the following values in a table:
        |              | Date / Time      | User       | Comments  |
        |[icon] [icon] | mm/dd/yyyy hh:mm | Test_User1 | Comment 2 |

  And I should NOT see "Comment 10" in the dialog box
  And I click on the button labeled "Cancel" in the dialog box

  #ACTION: Disable users to edit/delete Field Comments
  Given I click on the link labeled "Project Setup"
  And I click on the button labeled "Additional customizations"
  And I uncheck the checkbox labeled "Allow users to edit or delete Field Comments" in the dialog box 
  Then I click on the button labeled "Save"
  Then I should see "Success! Your changes have been saved"

  Given I click on the link labeled "Record Status Dashboard"
  When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
  And I click on the Comment icon for the field labeled "Name"
  Then I should NOT see Edit icon for the Comment "Comment 2"
  And I should NOT see Delete icon for the Comment "Comment 2"
  And I click on the button labeled "Cancel" in the dialog box
  And I logout

  Given I login to REDCap with the user "Test_User2"
  And I click on the link labeled "My Projects"
  And I click on the link labeled "D.106.800"
  And I click on the link labeled "Record Status Dashboard"
  When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
  When I click on the Comment icon for the field labeled "Name"
  Then I should see "Field Comment Log" in the dialog box
  And I should see a table header and row containing the following values in a table:
        | Date / Time      | User       | Comments  |
        | mm/dd/yyyy hh:mm | Test_User1 | Comment 2 |

  And I enter "Comment 3" in the comment box in Field Comment Log
  And I click on the button labeled "Comment" in the dialog box
  Then I should see a Comment icon for the field labeled "Name"
  # Clicking on Record Status dashboard again else comment dialog box gets closed off automatically
  Given I click on the link labeled "Record Status Dashboard"
  When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
  And I click on the Comment icon for the field labeled "Name"
  Then I should see "Field Comment Log" in the dialog box
  And I should see a table header and row containing the following values in a table:
        | Date / Time      | User       | Comments  |
        | mm/dd/yyyy hh:mm | Test_User1 | Comment 2 |
        | mm/dd/yyyy hh:mm | Test_User2 | Comment 3 |

  And I click on the button labeled "Cancel" in the dialog box
  Then I click on the Comment icon for the field labeled "Email"
  And I enter "Comment 4" in the comment box in Field Comment Log
  And I click on the button labeled "Comment"

  Given I click on the link labeled "Record Status Dashboard"
  When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "2" and click on the bubble
  And I click on the Comment icon for the field labeled "Email"
  And I enter "Comment 5" in the comment box in Field Comment Log
  And I click on the button labeled "Comment"
  And I logout

  #ACTION: D.106.900 - Verify filtering
  Given I login to REDCap with the user "Test_User1"
  And I click on the link labeled "My Projects"
  And I click on the link labeled "D.106.800"
  When I click on the link labeled "Field Comment Log"
  When I select the option "1" from the dropdown field for Record in Field Comment Log
  And I click on the button labeled "Apply filters"
  Then I should see a table rows containing the following values in a table:
        | 1                      | email_v2     | Test_User2  | 
        | Event 1 (Arm 1: Arm 1) | (Email)      | "Comment 4" | 
        | 1                      | ptname_v2_v2 | Test_User1  | 
        | Event 1 (Arm 1: Arm 1) | (Name)       | "Comment 2" | 
        | Event 1 (Arm 1: Arm 1) | ptname_v2_v2 | Test_User2  | 
        | Event 1 (Arm 1: Arm 1) | (Name)       | "Comment 3" | 


  When I select the option "ptname_v2_v2" from the dropdown field for Field in Field Comment Log
  And I click on the button labeled "Apply filters"
  Then I should see a table header and row containing the following values in a table:
        | 1                      | ptname_v2_v2 | Test_User1  | 
        | Event 1 (Arm 1: Arm 1) | (Name)       | "Comment 2" | 
        | Event 1 (Arm 1: Arm 1) | ptname_v2_v2 | Test_User2  | 
        | Event 1 (Arm 1: Arm 1) | (Name)       | "Comment 3" | 

  When I select the option "All records" from the dropdown field for Record in Field Comment Log
  And I select the option "All fields" from the dropdown field for Field in Field Comment Log
  And I select the option "test_user2" from the dropdown field for User in Field Comment Log
  And I click on the button labeled "Apply filters"
  Then I should see a table header and row containing the following values in a table:
        | 1                      | email_v2     | Test_User2  | 
        | Event 1 (Arm 1: Arm 1) | (Email)      | "Comment 4" | 
        | 1                      | ptname_v2_v2 | Test_User1  | 
        | Event 1 (Arm 1: Arm 1) | (Name)       | "Comment 2" | 
        | Event 1 (Arm 1: Arm 1) | ptname_v2_v2 | Test_User2  | 
        | Event 1 (Arm 1: Arm 1) | (Name)       | "Comment 3" |
        | 2                      | email_v2     | Test_User2  | 
        | Event 1 (Arm 1: Arm 1) | (Email)      | "Comment 5" |

  And I enter '"Comment 5"' into the field with the placeholder text of "Keyword search"
  And I click on the button labeled "Apply filters"
  Then I should see a table header and row containing the following values in a table:
        | 2                      | email_v2     | Test_User2  | 
        | Event 1 (Arm 1: Arm 1) | (Email)      | "Comment 5" |

  Given I clear field and enter "Comments" into the field with the placeholder text of "Keyword search"
  And I click on the button labeled "Apply filters"
  Then I should see "[Returned no results]"

  #VERIFY_LOG
  Given I click on the link labeled "Logging"
  Then I should see a table header and rows containing the following values in the logging table:
        | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported                                                                 |
        | mm/dd/yyyy hh:mm | test_user2 | Manage/Design | Add field comment (Record: 2, Event: Event 1 (Arm 1: Arm 1), Field: email_v2, Comment: "Comment 5")     |
        | mm/dd/yyyy hh:mm | test_user2 | Manage/Design | Add field comment (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: email_v2, Comment: "Comment 4")     |
        | mm/dd/yyyy hh:mm | test_user2 | Manage/Design | Add field comment (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: ptname_v2_v2, Comment: "Comment 3") |
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Make project customizations                                                                             |
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Delete field comment (Record: 1, Field: ptname_v2_v2, Comment: "Comment 10")                            |
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Add field comment (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: ptname_v2_v2, Comment: "Comment 2") |
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Edit field comment (Record: 1, Field: ptname_v2_v2, Comment: "Comment 10")                              |
        | mm/dd/yyyy hh:mm | test_user1 | Manage/Design | Add field comment (Record: 1, Event: Event 1 (Arm 1: Arm 1), Field: ptname_v2_v2, Comment: "Comment 1") |

  And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Data%20Resolution%20Workflow_106/D.106.900%20-%20REDUNDANT.feature

Feature: D.106.900 - The system shall have the ability to filter comments based on records, events, fields, users and keywords.

This feature test is REDUNDANT and can be viewed in D.106.800


Comments:

Comment:

Author: MintooXavier Updated on: 6/12/2024 10:02:40 AM

Comment body:

@CoreenDsouza: Please add test to check logging to ensure the DRW logs are captured in the audit trail.

Comment:

Author: MintooXavier Updated on: 7/12/2024 8:23:20 AM

Comment body:

Pre-Review comments:

  1. test_user and test_user2 doesn’t have access to project. Please write steps to add user to project with appropriate permissions.
  2. Write steps to enable DRW
  3. In the step definition to view table, you could just specify the columns you want to verify . No need to specify empty column data if not needed.
    | 1 | ptname_v2_v2 | | | test_user2 “” | test_user2Test de-verify data” |
  4. Instead of writing Step 1, Step 2, specify what you are trying to do.
  5. Double quotes missing in
    Then I should see “You have been assigned to a data query that was just opened in the REDCap project”Project_CUH_v1381
  6. Please check your script before submitting. Run the test manually and see if it works.

I haven’t checked it fully as the settings and user rights are not specified.

Comment edits:

Created: 7/12/2024 8:23:20 AM Edited on: 7/12/2024 8:23:20 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Pre-Review comments: 1. test_user and test_user2 doesn’t have access to project. Please write steps to add user to project with appropriate permissions. 2. Write steps to enable DRW 3. In the step definition to view table, you could just specify the columns you want to verify . No need to specify empty column data if not needed. https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L64 4. Instead of writing Step 1, Step 2, specify what you are trying to do. 5. Double quotes missing in https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L88 6. Please check your script before submitting. Run the test manually and see if it works.

I haven’t checked it fully as the settings and user rights are not specified.

Created: 7/12/2024 8:22:52 AM Edited on: 7/12/2024 8:22:52 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Pre-Review comments: 1. test_user and test_user2 doesn’t have access to project. Please write steps to add user to project with appropriate permissions. 2. Write steps to enable DRW 3. In the step definition to view table, you could just specify the columns you want to verify . No need to specify empty column data if not needed. https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L64 4. Instead of writing Step 1, Step 2, specify what you are trying to do. 5. Double quotes missing in https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L88 6. Please check your script before submitting. Run the test manually and see if it works.

I haven’t checked it fully as the settings are not done properly

Created: 7/12/2024 8:21:45 AM Edited on: 7/12/2024 8:21:45 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Pre-Review comments: 1. test_user and test_user2 doesn’t have access to project. Please write steps to add user to project with appropriate permissions. 2. Write steps to enable DRW 3. In the step definition to view table, you could just specify the columns you want to verify . No need to specify empty column data if not needed. https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L64 4. Instead of writing Step 1, Step 2, specify what you are trying to do. 5. Double quotes missing in https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L88 6. Please check your script before submitting. Run the test manually and see if it works.

I haven’t checked it fully.

Created: 7/12/2024 8:19:17 AM Edited on: 7/12/2024 8:19:17 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Pre-Review comments: 1. test_user and test_user2 doesn’t have access to project. Please write steps to add user to project with appropriate permissions. 2. Write steps to enable DRW 3. In the step definition to view table, you could just specify the columns you want to verify . No need to specify empty column data if not needed. https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L64 4. Instead of writing Step 1, Step 2, specify what you are trying to do. 5. Double quotes missing in https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L88

Created: 7/12/2024 8:17:23 AM Edited on: 7/12/2024 8:17:23 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Pre-Review comments: 1. test_user and test_user2 doesn’t have access to project. Please write steps to add user to project with appropriate permissions. 2. In the step definition to view table, you could just specify the columns you want to verify . No need to specify empty column data if not needed. https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L64 3. Instead of writing Step 1, Step 2, specify what you are trying to do. 4. Double quotes missing in https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L88

Created: 7/11/2024 2:43:38 PM Edited on: 7/11/2024 2:43:38 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Pre-Review comments: 1. test_user and test_user2 doesn’t have access to project. Please add user to project with appropriate permissions. 2. In the step definition to view table, you could just specify the columns you want to verify . No need to specify empty column data if not needed. https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L64 3. Instead of writing Step 1, Step 2, specify what you are trying to do. 4. Double quotes missing in https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L88

Created: 7/11/2024 2:43:18 PM Edited on: 7/11/2024 2:43:18 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Pre-Review comments: 1. test_user and test_user2 doesn’t have access to project. Please add user to project with appropriate permissions. 2. In the step definition to view table, you could just specify the columns you want to verify . No need to specify empty column data if not needed. https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L63 3. Instead of writing Step 1, Step 2, specify what you are trying to do. 4. Double quotes missing in https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L88

Created: 7/11/2024 2:40:27 PM Edited on: 7/11/2024 2:40:27 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Pre-Review comments: 1. test_user and test_user2 doesn’t have access to project. Please add user to project with appropriate permissions. 2. In the step definition to view table, you could just specify the columns you want to verify . No need to specify empty column data if not needed. 3. Instead of writing Step 1, Step 2, specify what you are trying to do. 4. Double quotes missing in https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L88

Created: 7/11/2024 2:40:27 PM Edited on: 7/11/2024 2:39:59 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Pre-Review comments: 1. test_user and test_user2 doesn’t have access to project. Please add user to project with appropriate permissions. 2. In the step definition to view table, you could just specify the columns you want to verify . No need to specify empty column data if not needed. 3. Instead of writing Step 1, Step 2, specify what you are trying to do. 4. Double quotes missing at https://github.com/CCTC-team/redcap_cypress/blob/9ce77b4e7049147faa5929a3900781ac25b502c4/manual_scripts/06_Data_Resolution_Workflow.feature#L88

Comment:

Author: MintooXavier Updated on: 7/31/2024 8:25:40 AM

Comment body:

If you can split you script into smaller scripts based on User requirements, please do so. Ideally we don’t want scripts exceeding 200 lines (But in some cases it might). Smaller scripts are easier to maintain and test. e.g.
https://github.com/CCTC-team/redcap_rsvc/tree/redcap_val/Feature%20Tests/A/Assign%20Administrators

  1. You could split the DRW and attaching file to issues to one script.
  2. Use the above project’s metadata and create a project to test filtering issues
  3. Field comments in another script.
  4. Likewise split the others

Comment:

Author: CoreenDsouza Updated on: 8/8/2024 10:51:26 AM

Comment body:

Part A of the feature completed

Comment:

Author: MintooXavier Updated on: 8/9/2024 10:58:20 AM

Comment body:
  1. Rename the script according to the new naming convention.No need to add A to script name. First script will be D.106.100, second script would be D.106.200 and so on.. This is named according to user Requirement as I mention last week.
  2. Rename the project accordingly.
  3. Lots of Gherkins steps are not correct. e.g. selecting dropdown fiels, clicking on links and buttons etc.
  4. And I click “Edit user privileges”
    • this is not correct. When adding users, run the test manually and see if it works.
    • Then I should see a table header and row containing the following values in the Data Resolution Workflow table:
      • this can be modifed to ‘I should see a table header and row containing the following values in a table:’ Change similar steps
      • Then I should see “Record ID 1 successfully added”
        • please correct Record ID.
        • | Date / Time | User | Comments and Details |
          • make sure the columns align. it’s easy to verify
          • You can import data instead of entering it. A csv file will be created for stats and charts feature. You can use it.
          • You can create a csv file with 4 users as ATS contains only 5 normal users and assign them 4 different user rights - view only, no access etc and user it for the required scripts rather than adding individual users and assigning roles.
          • Script D.106.100 - upload the above user rights csv file and check. You’ll have to use edit privileges for just 1 users to verify user rights..
          • Script D.106.200 -You can add Gherkin for URS D.106.200 to D.106.500
          • Scripts D.106.300 to D.106.500 are redundant
          • Script D.106.600 - Verify/De-verify data, auto de-verify . i.e. URS - D.106.600, D.106.700
          • D.106.700 redundant
          • D.106.800 - URS - D.106.800, D.106.900
          • D.106.900 - Redundant
          • Create a folder for Data_Resolution_Workflow_106 and put the scripts in it.

Comment edits:

Created: 8/9/2024 10:58:20 AM Edited on: 8/9/2024 10:58:20 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Rename the script according to the new naming convention.No need to add A to script name. First script will be D.106.100, second script would be D.106.200 and so on.. This is named according to user Requirement as I mention last week.
  2. Rename the project accordingly.
  3. Lots of Gherkins steps are not correct. e.g. selecting dropdown fiels, clicking on links and buttons etc.
  4. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L21 - this is not correct. When adding users, run the test manually and see if it works.
  5. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L76 - this can be modifed to ‘I should see a table header and row containing the following values in a table:’ Change similar steps
  6. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L44 - please correct Record ID.
  7. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L56 - make sure the columns align. it’s easy to verify
  8. You can import data instead of entering it. A csv file will be created for stats and charts feature. You can use it.
  9. You can create a csv file with 4 users as ATS contains only 5 normal users and assign them 4 different user rights - view only, no access etc and user it for the required scripts rather than adding individual users and assigning roles.
  10. Script D.106.100 - upload the above user rights csv file and check. You’ll have to use edit privileges for just 1 users to verify user rights..
  11. Script D.106.200 -You can add Gherkin for URS D.106.200 to D.106.500
  12. Scripts D.106.300 to D.106.500 are redundant
  13. Script D.106.600 - Verify/De-verify data, auto de-verify . i.e. URS - D.106.600, D.106.700
  14. D.106.700 redundant
  15. D.106.800 - URS - D.106.800, D.106.900
  16. D.106.900 - Redundant
  17. Create a folder for Data_Resolution_Workflow_106 and put the scripts in it.

Created: 8/9/2024 10:53:22 AM Edited on: 8/9/2024 10:53:22 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Rename the script according to the new naming convention.No need to add A to script name. First script will be D.106.100, second script would be D.106.200 and so on.. This is named according to user Requirement as I mention last week.
  2. Rename the project accordingly.
  3. Lots of Gherkins steps are not correct. e.g. selecting dropdown fiels, clicking on links and buttons etc.
  4. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L21 - this is not correct. When adding users, run the test manually and see if it works.
  5. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L76 - this can be modifed to ‘I should see a table header and row containing the following values in a table:’ Change similar steps
  6. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L44 - please correct Record ID.
  7. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L56 - make sure the columns align. it’s easy to verify
  8. You can import data instead of entering it. A csv file will be created for stats and charts feature. You can use it.
  9. You can create a csv file with 4 users as ATS contains only 5 normal users and assign them 4 different user rights - view only, no access etc and user it for the required scripts rather than adding individual users and assigning roles.
  10. Script D.106.100 - upload the above user rights csv file and check. You’ll have to use edit privileges for just 1 users to verify user rights..
  11. Script D.106.200 -You can add Gherkin for URS D.106.200 to D.106.500
  12. Scripts D.106.300 to D.106.500 are redundant
  13. Script D.106.600 - Verify/De-verify data, auto de-verify . i.e. URS - D.106.600, D.106.700
  14. D.106.700 redundant
  15. D.106.800 - URS - D.106.800, D.106.900
  16. D.106.900 - Redundant

Created: 8/9/2024 10:26:57 AM Edited on: 8/9/2024 10:26:57 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Rename the script according to the new naming convention.No need to add A to script name. First script will be D.106.100, second script would be D.106.200 and so on.. This is named according to user Requirement as I mention last week.
  2. Rename the project accordingly.
  3. Lots of Gherkins steps are not correct. e.g. selecting dropdown fiels, clicking on links and buttons etc.
  4. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L21 - this is not correct. When adding users, run the test manually and see if it works.
  5. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L76 - this can be modifed to ‘I should see a table header and row containing the following values in a table:’ Change similar steps
  6. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L44 - please correct Record ID.
  7. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L56 - make sure the columns align. it’s easy to verify
  8. You can import data instead of entering it. A csv file will be created for stats and charts feature. You can use it.
  9. You can create a csv file with 4 users as ATS contains only 4 normal users and assign them 4 different user rights - view only, no access etc and user it for the required scripts rather than adding individual users and assigning roles.
  10. Script D.106.100 - upload the above user rights csv file and check. You’ll have to use edit privileges for just 2 users to verify user rights..
  11. Script D.106.200 -You can add Gherkin for URS D.106.200 to D.106.500
  12. Scripts D.106.300 to D.106.500 are redundant
  13. Script D.106.600 - Verify/De-verify data, auto de-verify . i.e. URS - D.106.600, D.106.700
  14. D.106.700 redundant
  15. D.106.800 - URS - D.106.800, D.106.900

Created: 8/8/2024 2:59:56 PM Edited on: 8/8/2024 2:59:56 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Rename the script according to the new naming convention.No need to add A to script name. First script will be D.106.100, second script would be D.106.200 and so on.. This is named according to user Requirement as I mention last week.
  2. Rename the project accordingly.
  3. Lots of Gherkins steps are not correct. e.g. selecting dropdown fiels, clicking on links and buttons etc.
  4. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L21 - this is not correct. When adding users, run the test manually and see if it works.
  5. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L76 - this can be modifed to ‘I should see a table header and row containing the following values in a table:’ Change similar steps
  6. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L44 - please correct Record ID.
  7. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L56 - make sure the columns align. it’s easy to verify
  8. You can create a csv file with 4 users as ATS contains only 4 normal users and assign them 4 different user rights - view only, no access etc and user it for the required scripts rather than adding individual users and assigning roles
  9. Script D.106.100 - upload the above user rights csv file and check. You’ll have to use edit privileges for just 2 users to verify user rights.. You can add Gherkin for URS D.106.100 to D.106.400
  10. Scripts D.106.200 to D.106.400 are redundant
  11. Script D.106.500 - Verify/De-verify data, auto de-verify . i.e. URS - D.106.500, D.106.600
  12. D.106.600 redundant
  13. D.106.700 - URS - D.106.700, D.106.800

Created: 8/8/2024 2:59:56 PM Edited on: 8/8/2024 1:01:37 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Rename the script according to the new naming convention.No need to add A to script name. First script will be D.106.100, second script would be D.106.200 and so on.. This is named according to user Requirement as I mention last week.
  2. Rename the project accordingly.
  3. Lots of Gherkins steps are not correct. e.g. selecting dropdown fiels, clicking on links and buttons etc.
  4. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L21 - this is not correct. When adding users, run the test manually and see if it works.
  5. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L76 - this can be modifed to ‘I should see a table header and row containing the following values in a table:’ Change similar steps
  6. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L44 - please correct Record ID.
  7. https://github.com/CCTC-team/redcap_cypress/blob/52e88a36c7237c48f58193f45258de3a55240e04/manual_scripts/06_Data_Resolution_Workflow%20-%20A.feature#L56 - make sure the columns align. it’s easy to verify

Comment:

Author: CoreenDsouza Updated on: 8/22/2024 9:05:56 AM

Comment body:

@MintooXavier - DRW done, two new csv files added to redcap val fixtures

Comment:

Author: MintooXavier Updated on: 8/22/2024 9:54:16 AM

Comment body:

@coreen: Please rename the files according to the guideline. Go through the guidelines and check if everything is implemented before submiting it.
Update the feature file link as well

Comment edits:

Created: 8/22/2024 9:54:15 AM Edited on: 8/22/2024 9:54:15 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@Coreen: Please rename the files according to the guideline. Go through the guidelines and check if everything is implemented before submiting it. Update the feature file link as well

Created: 8/22/2024 9:54:15 AM Edited on: 8/22/2024 9:36:58 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

@Coreen: Please rename the files according to the guideline. Go through the guidelines and check if everything is implemented before submiting it.

Comment:

Author: CoreenDsouza Updated on: 8/23/2024 3:20:20 PM

Comment body:

@MintooXavier Cypress.config.js deleted and feature links updated

Comment:

Author: MintooXavier Updated on: 8/27/2024 2:46:17 PM

Comment body:

D.106.100

  1. Add a comment as to what you are doing.
    And I click on the link labeled “Data Import Tool”
  2. Create a folder ‘import_files’ in redcap_val_fictures and put your csv files in it and provide the link to the file, not folder.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesata import csv”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload file” to upload the file
  3. It’s ‘Upload File’.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesata import csv”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload file” to upload the file
  4. Rename the csv file according to the USR number.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesata import csv”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload file” to upload the file
  5. Add a step to verify upload is successful.
  6. Add comment to specify what you are doing.
  7. Change this as mentioned in the step 2.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixtures/span>sers csv”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload” to upload the file
  8. Add step to verify user is imported. Table view.
  9. Dlete the blank line after the comment. It’s good to keep a blank line before. Do similarly everywhere.
  10. Uncomment this step. It’s good to verify the icon
  11. Add this step before - When I click on the link labeled “My Projects” .
  12. Click on record status dashboard.
    And I click on the bubble for the “Text Validation” data collection instrument for record ID “1”
  13. Add a step to click on the button ‘Cancel’ else I got the below:

Image

  1. Add similar steps as above to click on links here. (Clicking My projects and record status dashboard)
  2. There is no button, is there any other step to close the dialog box.
    And I click on the button labeled “Close” in the dialog box
  3. Add similar steps as above to click on links here. (Clicking My projects and record status dashboard)
    Given I login to REDCap with the user “test_user3”
  4. No button.
    And I click on the button labeled “Close” in the dialog box
  5. Same as step 16.
    Given I login to REDCap with the user “test_user4”
  6. Same as step 16.
  7. No Access - Capital.
    And I click on the radio labeled “No access” in the dialog box
  8. Same as step 16.
  9. You will not see this text even if you had access. Change this step.
    Then I should NOT see “Data Resolution Workflow icon”
  10. Same as step 16.
  11. I cannot see this to click. Make sure you try out the steps.
    And I click on the bubble for the “Text Validation” data collection instrument for record ID “1”
  12. Add a step to view the comment ‘Query 1’ in all users which have view access. This will ensure you can view the query.
    And I click on the button labeled “Close” in the dialog box
  13. Check and correct the usernames in all the scripts. Check RSVC repo

@CoreenDsouza Review completed for D.106.100

Comment edits:

Created: 8/27/2024 2:46:17 PM Edited on: 8/27/2024 2:46:17 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.100 1. Add a comment as to what you are doing. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L18 2. Create a folder ‘import_files’ in redcap_val_fictures and put your csv files in it and provide the link to the file, not folder. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19 3. It’s ‘Upload File’. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19 4. Rename the csv file according to the USR number. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19 5. Add a step to verify upload is successful. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L20 6. Add comment to specify what you are doing. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L21 7. Change this as mentioned in the step 2. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L24 8. Add step to verify user is imported. Table view. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L27 9. Dlete the blank line after the comment. It’s good to keep a blank line before. Do similarly everywhere. 10. Uncomment this step. It’s good to verify the icon 11. Add this step before - When I click on the link labeled “My Projects” . https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L42 12. Click on record status dashboard. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L43 13. Add a step to click on the button ‘Cancel’ else I got the below:

Image
  1. Add similar steps as above to click on links here. (Clicking My projects and record status dashboard) https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L56
  2. There is no button, is there any other step to close the dialog box. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L65
  3. Add similar steps as above to click on links here. (Clicking My projects and record status dashboard) https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L70
  4. No button. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L77
  5. Same as step 16. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L85
  6. Same as step 16. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L101
  7. No Access - Capital. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L105
  8. Same as step 16. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L116
  9. You will not see this text even if you had access. Change this step. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L119
  10. Same as step 16. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L125
  11. I cannot see this to click. Make sure you try out the steps. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L127
  12. Add a step to view the comment ‘Query 1’ in all users which have view access. This will ensure you can view the query. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L134
  13. Check and correct the usernames in all the scripts. Check RSVC repo

@CoreenDsouza Review completed for D.106.100

Created: 8/27/2024 11:56:55 AM Edited on: 8/27/2024 11:56:55 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.100 1. Add a comment as to what you are doing. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L18 2. Create a folder ‘import_files’ in redcap_val_fictures and put your csv files in it and provide the link to the file, not folder. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19 3. It’s ‘Upload File’. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19 4. Rename the csv file according to the USR number. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19 5. Add a step to verify upload is successful. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L20 6. Add comment to specify what you are doing. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L21 7. Change this as mentioned in the step 2. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L24 8. Add step to verify user is imported. Table view. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L27 9. Dlete the blank line after the comment. It’s good to keep a blank line before. Do similarly everywhere. 10. Uncomment this step. It’s good to verify the icon 11. Add this step before - When I click on the link labeled “My Projects” . https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L42 12. Click on record status dashboard. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L43 13. Add a step to click on the button ‘Cancel’ else I got the below:

Image
  1. Add similar steps as above to click on links here. (Clicking My projects and record status dashboard) https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L56
  2. There is no button, is there any other step to close the dialog box. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L65
  3. Add similar steps as above to click on links here. (Clicking My projects and record status dashboard) https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L70
  4. No button. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L77
  5. Same as step 16. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L85
  6. Same as step 16. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L101
  7. No Access - Capital. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L105
  8. Same as step 16. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L116
  9. You will not see this text even if you had access. Change this step. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L119
  10. Same as step 16. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L125
  11. I cannot see this to click. Make sure you try out the steps. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L127
  12. Add a step to view the comment ‘Query 1’ in all users which have view access. This will ensure you can view the query. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L134

@CoreenDsouza Review completed for D.106.100

Created: 8/27/2024 11:37:36 AM Edited on: 8/27/2024 11:37:36 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Add a comment as to what you are doing. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L18
  2. Create a folder ‘import_files’ in redcap_val_fictures and put your csv files in it and provide the link to the file, not folder. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19
  3. It’s ‘Upload File’. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19
  4. Rename the csv file according to the USR number. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19
  5. Add a step to verify upload is successful. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L20
  6. Add comment to specify what you are doing. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L21
  7. Change this as mentioned in the step 2. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L24
  8. Add step to verify user is imported. Table view. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L27
  9. Dlete the blank line after the comment. It’s good to keep a blank line before.
  10. Uncomment this step. It’s good to verify the icon
  11. Add this step before - When I click on the link labeled “My Projects” . https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L42
  12. Click on record status dashboard. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L43
  13. Add a step to click on the button ‘Cancel’ else I got the below:
Image
  1. Add the same as above https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L56

Created: 8/27/2024 11:37:36 AM Edited on: 8/27/2024 11:21:44 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Add a comment as to what you are doing. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L18
  2. Create a folder ‘import_files’ in redcap_val_fictures and put your csv files in it and provide the link to the file, not folder. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19
  3. It’s ‘Upload File’. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19
  4. Rename the csv file according to the USR number. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L19
  5. Add a step to verify upload is successful. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L20
  6. Add comment to specify what you are doing. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L21
  7. Change this as mentioned in the step 2. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L24
  8. Add step to verify user is imported. Table view. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L27
  9. Dlete the blank line after the comment. It’s good to keep a blank line before.
  10. Uncomment this step. It’s good to verify the icon

Comment:

Author: MintooXavier Updated on: 8/27/2024 2:53:01 PM

Comment body:

D.106.600

  1. Add comment and do the changes for this step as mentioned in the review for D.106.100.
  2. Check import is successful.
  3. Similar changes as in steps 1 and 2 here as well.
  4. Make sure all the table columns align.
    Then I should see a table header and row containing the following values in a table:
  5. Uncomment this step
    #Then I should see a green tick icon for the input field labeled “Name”
  6. Uncomment this and similar steps.
    #Then I should see a red exclamation icon for the input field labeled “Name”
  7. It is All status types (1).
    And I select the “All status type” option from the Filters dropdown field indentified by ‘choose_status_type’
  8. Check and correct this.
    | 1 | ptname_v2_v2 | test_user1 “” | test_user1Test de-verify data” |
  9. Click My projects. Similarly correct everywhere.
  10. I can see this. Please specify you cannot see the button.
  11. Add a step to close the dialog box before this.
  12. Not a button.
    And I click on the button labeled “Close” in the dialog box

@coreen: Review completed for D.106.600

Comment edits:

Created: 8/27/2024 2:53:01 PM Edited on: 8/27/2024 2:53:01 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.600

  1. Add comment and do the changes for this step as mentioned in the review for D.106.100. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L18
  2. Check import is successful. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L20
  3. Similar changes as in steps 1 and 2 here as well. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L21
  4. Make sure all the table columns align. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L38
  5. Uncomment this step https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L43
  6. Uncomment this and similar steps. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L55
  7. It is All status types (1). https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L58
  8. Check and correct this. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L61
  9. Click My projects. Similarly correct everywhere. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L67
  10. I can see this. Please specify you cannot see the button. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L72
  11. Add a step to close the dialog box before this. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L73
  12. Not a button. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L94

@Coreen: Review completed for D.106.600

Created: 8/27/2024 2:53:01 PM Edited on: 8/27/2024 2:45:18 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.600

  1. Add comment and do the changes for this step as mentioned in the review for D.106.100. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L18
  2. Check import is successful. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L20
  3. Similar changes as in steps 1 and 2 here as well. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L21
  4. Make sure all the table columns align. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L38
  5. Uncomment this step https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L43
  6. Uncomment this https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L55
  7. It is All status types (1). https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L58
  8. Check and correct this. https://github.com/CCTC-team/redcap_cypress/blob/144c532eacc56d3bf64f1d2f1229dadab618ae57/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L61

Comment:

Author: CoreenDsouza Updated on: 9/3/2024 7:27:00 AM

Comment body:
  1. Create a folder ‘import_files’ in redcap_val_fictures and put your csv files in it and provide the link to the file, not folder.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesata import csv”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload file” to upload the file

    The only two file upload step definitions were as below, where type of file from the named folder is uploaded.

Image

The rest of the corrections are done,

@MintooXavier

Comment:

Author: MintooXavier Updated on: 9/19/2024 9:23:46 AM

Comment body:

D.106.100
@CoreenDsouza : When writting comment, specify the name of script. The step definition you wrote is correct but you have to provide a link to the file, else how can cypress know which file to pick. Provide the correct link to the file. Check rsvc repo if in doubt. Change similarly in other locations where this step def is used.

Comment:

Author: MintooXavier Updated on: 9/19/2024 3:00:29 PM

Comment body:

D.106.100

  1. Step 2 not done.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesmport_files.106.100_Data_Import”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload File” to upload the file
  2. same as above.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesmport_files.106.100_Users”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload” to upload the file
  3. test_admin in small letters. Change everywhere.
    | mm/dd/yyyy hh:mm | Test_Admin | Action: Opened query Comment:“Query 1” |
  4. Remove extra space.
  5. labeled missing. Similarly change below.
  6. There is ‘No Access’ for Instruments a well. Maybe write - I select the User Right named “Data Resolution Workflow” and choose “No Access”. Similarly change below.
    And I click on the radio labeled “No Access” in the dialog box
  7. You can add ‘And I should see “Awaiting action by user with sufficient user privileges.”’ as you did above.
  8. Make this small. Verifying Data Resolution Workflow User Rights.
    Scenario: D.106.100 Allow Data Resolution Workflow rights to be (No Access, View only, Open queries only, Respond only to opened queries, Open and respond to queries; Open, close, and respond to queries).
  9. Check indentation. Add a tab after Scenario so that all codes in that Scenario are within it
  10. While reviewing script 600, I realized that the Verify/De-verify access is tied to the DRW user rights access. Could you also include checks to verify/de-verify data with different access rights in script 100? Verify data in one field and then check if users can see de-verified data, and also if they can see verified data. This is similar to the DWR open query.

@coreen: Review Completed.

Comment edits:

Created: 9/19/2024 3:00:29 PM Edited on: 9/19/2024 3:00:29 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.100 1. Step 2 not done. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L23 2. same as above. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L32 3. test_admin in small letters. Change everywhere. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L57 4. Remove extra space. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L118 5. labeled missing. Similarly change below. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L131 6. There is ‘No Access’ for Instruments a well. Maybe write - I select the User Right named “Data Resolution Workflow” and choose “No Access”. Similarly change below. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L133 7. You can add ‘And I should see “Awaiting action by user with sufficient user privileges.”’ as you did above. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L164 8. Make this small. Verifying Data Resolution Workflow User Rights. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L7 9. Check indentation. Add a tab after Scenario so that all codes in that Scenario are within it 10. While reviewing script 600, I realized that the Verify/De-verify access is tied to the DRW user rights access. Could you also include checks to verify/de-verify data with different access rights in script 100? Verify data in one field and then check if users can see de-verified data, and also if they can see verified data. This is similar to the DWR open query.

@Coreen: Review Completed.

Created: 9/19/2024 1:39:52 PM Edited on: 9/19/2024 1:39:52 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.100 1. Step 2 not done. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L23 2. same as above. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L32 3. test_admin in small letters. Change everywhere. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L57 4. Remove extra space. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L118 5. labeled missing. Similarly change below. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L131 6. There is ‘No Access’ for Instruments a well. Maybe write - I select the User Right named “Data Resolution Workflow” and choose “No Access”. Similarly change below. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L133 7. You can add ‘And I should see “Awaiting action by user with sufficient user privileges.”’ as you did above. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L164 8. Make this small. Verifying Data Resolution Workflow User Rights. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L7 9. Check indentation. Add a tab after Scenario so that all codes in that Scenario are within it

@Coreen: Review Completed.

Created: 9/19/2024 1:39:52 PM Edited on: 9/19/2024 1:33:32 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.100 1. Step 2 not done. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L23 2. same as above. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L32 3. test_admin in small letters. Change everywhere. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L57 4. Remove extra space. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L118 5. labeled missing. Similarly change below. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L131 6. There is ‘No Access’ for Instruments a well. Maybe write - I select the User Right named “Data Resolution Workflow” and choose “No Access”. Similarly change below. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L133 7. You can add ‘And I should see “Awaiting action by user with sufficient user privileges.”’ as you did above. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.100%20-%20DRW%20User%20Rights.feature#L164

@Coreen: Review Completed.

Comment:

Author: MintooXavier Updated on: 9/20/2024 8:39:06 AM

Comment body:

D.106.600

  1. Check indentation. Add a tab after Scenario so that all codes in that Scenario are within it.
  2. Scenario title - Verify and de-verify data
  3. Same as in script 100. Change for user import as well.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesmport_files.106.100_Data_Import”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload file” to upload the file
  4. Same as in script 100. Similarly change in other locations.
    | mm/dd/yyyy hh:mm | Test_Admin | Data Changes Made: ptname_v2_v2 = ‘Tony Stone’ |
  5. Same as above.
    | 1 | ptname_v2_v2 | Test_User1 “” | Test_User1Test de-verify data” |
  6. This needs to be checked for all user rights.. I have included a comment in script 100 to verify this. This can be deleted from here and included in script 100.

@CoreenDsouza : Pre-review Completed.

Comment edits:

Created: 9/20/2024 8:39:05 AM Edited on: 9/20/2024 8:39:05 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.600

  1. Check indentation. Add a tab after Scenario so that all codes in that Scenario are within it.
  2. Scenario title - Verify and de-verify data
  3. Same as in script 100. Change for user import as well. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L23
  4. Same as in script 100. Similarly change in other locations. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L49
  5. Same as above. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L70
  6. This needs to be checked for all user rights.. I have included a comment in script 100 to verify this. This can be deleted from here and included in script 100. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L73

@CoreenDsouza : Pre-review Completed.

Created: 9/20/2024 8:39:05 AM Edited on: 9/19/2024 3:19:32 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.600

  1. Check indentation. Add a tab after Scenario so that all codes in that Scenario are within it.
  2. Scenario title - Verify and de-verify data
  3. Same as in script 100. Change for user import as well. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L23
  4. Same as in script 100. Similarly change in other locations. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L49
  5. Same as above. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L70
  6. This needs to be checked for all user rights.. I have included a comment in script 100 to verify this. This can be deleted. https://github.com/CCTC-team/redcap_cypress/blob/6a86324636a578bfafc6886efed7deee06d0e1cc/manual_scripts/Data%20Resolution%20Workflow_106/D.106.600%20-%20DRW%20Verify%20and%20De-verify%20Data.feature#L73

@CoreenDsouza : Pre-review Completed.

Comment:

Author: CoreenDsouza Updated on: 9/23/2024 11:53:57 AM

Comment body:

Please confirm,
Image

The status of verify button needs to be checked for all 6 types of User rights at similar points below, of feature D.106.100
Image
@MintooXavier

Comment:

Author: MintooXavier Updated on: 9/23/2024 11:59:36 AM

Comment body:

Yes, it needs to be checked for all the 6 user rights and can be done as you mentioned(I had specified this in the screenshot correctly). Try and verify everything in the Data Types instrument as everything can be verified in it as it has lots of fields.

Comment edits:

Created: 9/23/2024 11:59:36 AM Edited on: 9/23/2024 11:59:36 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Yes, it needs to be checked for all the 6 user rights and can be done as you mentioned(I had specified this in the screenshot correctly). Try and verify everything in the Data Types instrument as everything can be verified in it as it has lots of fields.

Created: 9/23/2024 11:59:36 AM Edited on: 9/23/2024 11:58:35 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Yes, it needs to be checked for all the 6 user rights and can be done as you mentioned. Try and verify everything in the Data Types instrument as everything can be verified in it as it has lots of fields.

Comment:

Author: CoreenDsouza Updated on: 9/23/2024 12:27:38 PM

Comment body:

Will do, thank you @MintooXavier

Comment:

Author: MintooXavier Updated on: 10/1/2024 3:02:36 PM

Comment body:

D.106.100

  1. Step 10 not done partially. Added steps to verify a field and then check if all users can see ‘de-verify data value’. Added this for all 6 user rights.

I have added this and pushed the code.

Script review completed. Test pass

Comment:

Author: MintooXavier Updated on: 10/10/2024 12:39:53 PM

Comment body:

D.106.600

I have modified the script. Check diff in Github to view changes.

Major changes done are as follows:

  1. Since we are only using 1 user, no need to import users. create project and do all the actions as test_user1 without logging out.
  2. Added steps to check resolve issues after data verified.
  3. Added steps to verify logging

Script Pre-reviewed and Test Pass

Comment edits:

Created: 10/10/2024 12:39:53 PM Edited on: 10/10/2024 12:39:53 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.600

I have modified the script. Check diff in Github to view changes.

Major changes done are as follows: 1. Since we are only using 1 user, no need to import users. create project and do all the actions as test_user1 without logging out. 2. Added steps to check resolve issues after data verified. 3. Added steps to verify logging

Script Pre-reviewed and Test Pass

Created: 10/10/2024 12:39:53 PM Edited on: 10/9/2024 1:12:18 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.600

I have modified the script. Check diff in Github to view changes.

Major changes done 1. Since we are only using 1 user, no need to import users. create project and do all the actions as test_user1 without logging out. 2. Added steps to check resolve issues after data verified. 3. Added steps to verify logging

Script Pre-reviewed and Test Pass

Comment:

Author: MintooXavier Updated on: 10/10/2024 12:40:08 PM

Comment body:

D.106.800

I have modified the script. Check diff in Github to view changes.

Major changes done are as follows:

  1. Since we are only using 2 users, no need to import users. create project as user1 and add user2.
  2. Added steps to edit/delete cmments
  3. Added staps to verify logging

Script Pre-reviewed and Test Pass

Comment edits:

Created: 10/10/2024 12:40:08 PM Edited on: 10/10/2024 12:40:08 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.800

I have modified the script. Check diff in Github to view changes.

Major changes done are as follows: 1. Since we are only using 2 users, no need to import users. create project as user1 and add user2. 2. Added steps to edit/delete cmments 3. Added staps to verify logging

Script Pre-reviewed and Test Pass

Created: 10/10/2024 12:40:08 PM Edited on: 10/10/2024 12:39:39 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.800

I have modified the script. Check diff in Github to view changes.

Major changes done are as follows: 1. Since we are only using 2 users, no need to import users. create project as user1 and add user2. 2. Added steps to edit/delete cmments 3. Added staps to verify logging

Comment:

Author: MintooXavier Updated on: 10/11/2024 12:10:29 PM

Comment body:

D.106.200

Major changed done are as follows:

  1. Since we are only using 2 users, no need to import users. create project as user1 and add user2.
  2. No need to verify user rights as it is done in script D.106.100. Removed all the User Rights verification
  3. file1.csv is missing. But used another file instead.
  4. Modified logging.
  5. Added csv verification

I have made the changes and pushed to git.

Script pre-reviewed and Test Pass

Comment edits:

Created: 10/11/2024 12:10:29 PM Edited on: 10/11/2024 12:10:29 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.200

Major changed done are as follows: 1. Since we are only using 2 users, no need to import users. create project as user1 and add user2. 2. No need to verify user rights as it is done in script D.106.100. Removed all the User Rights verification 3. file1.csv is missing. But used another file instead. 4. Modified logging. 5. Added csv verification

I have made the changes and pushed to git.

Script pre-reviewed and Test Pass

Created: 10/11/2024 12:10:29 PM Edited on: 10/10/2024 2:35:24 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.106.200

Major changed done are as follows: 1. Since we are only using 2 users, no need to import users. create project as user1 and add user2. 2. No need to verify user rights as it is done in script D.106.100 3. file1.csv is missing.

Comment:

Author: MintooXavier Updated on: 11/6/2024 2:56:59 PM

Comment body:

Added step definition for additional customizations

Comment:

Author: MintooXavier Updated on: 11/22/2024 2:43:21 PM

Comment body:

Scripts automated:

  1. D.106.100

  2. D.106.200 - Cannot check the data for export as data is of the form: Test_User1 (11/22/2024 8:03am): “Query 1”.
    Tried other Step Definitions (the downloaded CSV with filename “” has a value “” for column ““), but since the file name contains the extension ’_hhmm’ it’s not picking up the correct file.

  3. D.106.600

  4. D.106.800

Comment edits:

Created: 11/22/2024 2:43:20 PM Edited on: 11/22/2024 2:43:20 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts automated:

  1. D.106.100

  2. D.106.200 - Cannot check the data for export as data is of the form: Test_User1 (11/22/2024 8:03am): “Query 1”. Tried other Step Definitions (the downloaded CSV with filename “” has a value “” for column ““), but since the file name contains the extension ’_hhmm’ it’s not picking up the correct file.

  3. D.106.600

  4. D.106.800

Created: 11/22/2024 2:43:20 PM Edited on: 11/21/2024 3:42:07 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts automated:

  1. D.106.100
  2. D.106.200
  3. D.106.600

Comment:

Author: MintooXavier Updated on: 11/25/2024 4:35:55 PM

Comment body:

D.106.200 - Script fixed. The issue was with the timezone. Hence the script was not picking up the file. Modified timezone in php.ini in CCTC_REDCap_Docker. Script is automated and checks the export data. All tests pass.


Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 9:02:07 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 9:02:07 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 9:02:07 AM Assignee: CoreenDsouza

ISSUE COMMENT | User: MintooXavier Created on: 6/12/2024 10:02:40 AM Issue comment body:

@CoreenDsouza: Please add test to check logging to ensure the DRW logs are captured in the audit trail.

MENTIONED | User: CoreenDsouza Created on: 6/12/2024 10:02:42 AM

SUBSCRIBED | User: CoreenDsouza Created on: 6/12/2024 10:02:42 AM

ISSUE COMMENT | User: MintooXavier Created on: 7/11/2024 2:39:59 PM Issue comment body:

Pre-Review comments:

  1. test_user and test_user2 doesn’t have access to project. Please write steps to add user to project with appropriate permissions.
  2. Write steps to enable DRW
  3. In the step definition to view table, you could just specify the columns you want to verify . No need to specify empty column data if not needed.
    | 1 | ptname_v2_v2 | | | test_user2 “” | test_user2Test de-verify data” |
  4. Instead of writing Step 1, Step 2, specify what you are trying to do.
  5. Double quotes missing in
    Then I should see “You have been assigned to a data query that was just opened in the REDCap project”Project_CUH_v1381
  6. Please check your script before submitting. Run the test manually and see if it works.

I haven’t checked it fully as the settings and user rights are not specified.

ISSUE COMMENT | User: MintooXavier Created on: 7/31/2024 8:25:40 AM Issue comment body:

If you can split you script into smaller scripts based on User requirements, please do so. Ideally we don’t want scripts exceeding 200 lines (But in some cases it might). Smaller scripts are easier to maintain and test. e.g.
https://github.com/CCTC-team/redcap_rsvc/tree/redcap_val/Feature%20Tests/A/Assign%20Administrators

  1. You could split the DRW and attaching file to issues to one script.
  2. Use the above project’s metadata and create a project to test filtering issues
  3. Field comments in another script.
  4. Likewise split the others

LABELLED | User: MintooXavier Created on: 7/31/2024 9:52:41 AM Label name: Gherkin Label description: Uses a Gherkin syntax

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:44:28 PM Previous title: 6. Data Resolution Workflow and Field Comments Current title: 106. Data Resolution Workflow and Field Comments

ISSUE COMMENT | User: CoreenDsouza Created on: 8/8/2024 10:51:26 AM Issue comment body:

Part A of the feature completed

ISSUE COMMENT | User: MintooXavier Created on: 8/8/2024 1:01:37 PM Issue comment body:
  1. Rename the script according to the new naming convention.No need to add A to script name. First script will be D.106.100, second script would be D.106.200 and so on.. This is named according to user Requirement as I mention last week.
  2. Rename the project accordingly.
  3. Lots of Gherkins steps are not correct. e.g. selecting dropdown fiels, clicking on links and buttons etc.
  4. And I click “Edit user privileges”
    • this is not correct. When adding users, run the test manually and see if it works.
    • Then I should see a table header and row containing the following values in the Data Resolution Workflow table:
      • this can be modifed to ‘I should see a table header and row containing the following values in a table:’ Change similar steps
      • Then I should see “Record ID 1 successfully added”
        • please correct Record ID.
        • | Date / Time | User | Comments and Details |
          • make sure the columns align. it’s easy to verify
          • You can import data instead of entering it. A csv file will be created for stats and charts feature. You can use it.
          • You can create a csv file with 4 users as ATS contains only 5 normal users and assign them 4 different user rights - view only, no access etc and user it for the required scripts rather than adding individual users and assigning roles.
          • Script D.106.100 - upload the above user rights csv file and check. You’ll have to use edit privileges for just 1 users to verify user rights..
          • Script D.106.200 -You can add Gherkin for URS D.106.200 to D.106.500
          • Scripts D.106.300 to D.106.500 are redundant
          • Script D.106.600 - Verify/De-verify data, auto de-verify . i.e. URS - D.106.600, D.106.700
          • D.106.700 redundant
          • D.106.800 - URS - D.106.800, D.106.900
          • D.106.900 - Redundant
          • Create a folder for Data_Resolution_Workflow_106 and put the scripts in it.
ISSUE COMMENT | User: CoreenDsouza Created on: 8/22/2024 9:05:56 AM Issue comment body:

@MintooXavier - DRW done, two new csv files added to redcap val fixtures

MENTIONED | User: MintooXavier Created on: 8/22/2024 9:05:57 AM

SUBSCRIBED | User: MintooXavier Created on: 8/22/2024 9:05:57 AM

ISSUE COMMENT | User: MintooXavier Created on: 8/22/2024 9:36:58 AM Issue comment body:

@coreen: Please rename the files according to the guideline. Go through the guidelines and check if everything is implemented before submiting it.
Update the feature file link as well

MENTIONED | User: coreen Created on: 8/22/2024 9:36:59 AM

SUBSCRIBED | User: coreen Created on: 8/22/2024 9:36:59 AM

ISSUE COMMENT | User: CoreenDsouza Created on: 8/23/2024 3:20:20 PM Issue comment body:

@MintooXavier Cypress.config.js deleted and feature links updated

MENTIONED | User: MintooXavier Created on: 8/23/2024 3:20:22 PM

SUBSCRIBED | User: MintooXavier Created on: 8/23/2024 3:20:22 PM

ISSUE COMMENT | User: MintooXavier Created on: 8/27/2024 11:21:44 AM Issue comment body:

D.106.100

  1. Add a comment as to what you are doing.
    And I click on the link labeled “Data Import Tool”
  2. Create a folder ‘import_files’ in redcap_val_fictures and put your csv files in it and provide the link to the file, not folder.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesata import csv”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload file” to upload the file
  3. It’s ‘Upload File’.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesata import csv”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload file” to upload the file
  4. Rename the csv file according to the USR number.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesata import csv”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload file” to upload the file
  5. Add a step to verify upload is successful.
  6. Add comment to specify what you are doing.
  7. Change this as mentioned in the step 2.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixtures/span>sers csv”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload” to upload the file
  8. Add step to verify user is imported. Table view.
  9. Dlete the blank line after the comment. It’s good to keep a blank line before. Do similarly everywhere.
  10. Uncomment this step. It’s good to verify the icon
  11. Add this step before - When I click on the link labeled “My Projects” .
  12. Click on record status dashboard.
    And I click on the bubble for the “Text Validation” data collection instrument for record ID “1”
  13. Add a step to click on the button ‘Cancel’ else I got the below:

Image

  1. Add similar steps as above to click on links here. (Clicking My projects and record status dashboard)
  2. There is no button, is there any other step to close the dialog box.
    And I click on the button labeled “Close” in the dialog box
  3. Add similar steps as above to click on links here. (Clicking My projects and record status dashboard)
    Given I login to REDCap with the user “test_user3”
  4. No button.
    And I click on the button labeled “Close” in the dialog box
  5. Same as step 16.
    Given I login to REDCap with the user “test_user4”
  6. Same as step 16.
  7. No Access - Capital.
    And I click on the radio labeled “No access” in the dialog box
  8. Same as step 16.
  9. You will not see this text even if you had access. Change this step.
    Then I should NOT see “Data Resolution Workflow icon”
  10. Same as step 16.
  11. I cannot see this to click. Make sure you try out the steps.
    And I click on the bubble for the “Text Validation” data collection instrument for record ID “1”
  12. Add a step to view the comment ‘Query 1’ in all users which have view access. This will ensure you can view the query.
    And I click on the button labeled “Close” in the dialog box
  13. Check and correct the usernames in all the scripts. Check RSVC repo

@CoreenDsouza Review completed for D.106.100

MENTIONED | User: CoreenDsouza Created on: 8/27/2024 11:56:56 AM

SUBSCRIBED | User: CoreenDsouza Created on: 8/27/2024 11:56:56 AM

ISSUE COMMENT | User: MintooXavier Created on: 8/27/2024 2:45:18 PM Issue comment body:

D.106.600

  1. Add comment and do the changes for this step as mentioned in the review for D.106.100.
  2. Check import is successful.
  3. Similar changes as in steps 1 and 2 here as well.
  4. Make sure all the table columns align.
    Then I should see a table header and row containing the following values in a table:
  5. Uncomment this step
    #Then I should see a green tick icon for the input field labeled “Name”
  6. Uncomment this and similar steps.
    #Then I should see a red exclamation icon for the input field labeled “Name”
  7. It is All status types (1).
    And I select the “All status type” option from the Filters dropdown field indentified by ‘choose_status_type’
  8. Check and correct this.
    | 1 | ptname_v2_v2 | test_user1 “” | test_user1Test de-verify data” |
  9. Click My projects. Similarly correct everywhere.
  10. I can see this. Please specify you cannot see the button.
  11. Add a step to close the dialog box before this.
  12. Not a button.
    And I click on the button labeled “Close” in the dialog box

@coreen: Review completed for D.106.600

MENTIONED | User: coreen Created on: 8/27/2024 2:53:02 PM

SUBSCRIBED | User: coreen Created on: 8/27/2024 2:53:02 PM

ISSUE COMMENT | User: CoreenDsouza Created on: 9/3/2024 7:27:00 AM Issue comment body:
  1. Create a folder ‘import_files’ in redcap_val_fictures and put your csv files in it and provide the link to the file, not folder.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesata import csv”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload file” to upload the file

    The only two file upload step definitions were as below, where type of file from the named folder is uploaded.

Image

The rest of the corrections are done,

@MintooXavier

MENTIONED | User: MintooXavier Created on: 9/3/2024 7:27:02 AM

SUBSCRIBED | User: MintooXavier Created on: 9/3/2024 7:27:02 AM

ISSUE COMMENT | User: MintooXavier Created on: 9/19/2024 9:23:46 AM Issue comment body:

D.106.100
@CoreenDsouza : When writting comment, specify the name of script. The step definition you wrote is correct but you have to provide a link to the file, else how can cypress know which file to pick. Provide the correct link to the file. Check rsvc repo if in doubt. Change similarly in other locations where this step def is used.

MENTIONED | User: CoreenDsouza Created on: 9/19/2024 9:23:47 AM

SUBSCRIBED | User: CoreenDsouza Created on: 9/19/2024 9:23:47 AM

ISSUE COMMENT | User: MintooXavier Created on: 9/19/2024 1:33:32 PM Issue comment body:

D.106.100

  1. Step 2 not done.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesmport_files.106.100_Data_Import”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload File” to upload the file
  2. same as above.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesmport_files.106.100_Users”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload” to upload the file
  3. test_admin in small letters. Change everywhere.
    | mm/dd/yyyy hh:mm | Test_Admin | Action: Opened query Comment:“Query 1” |
  4. Remove extra space.
  5. labeled missing. Similarly change below.
  6. There is ‘No Access’ for Instruments a well. Maybe write - I select the User Right named “Data Resolution Workflow” and choose “No Access”. Similarly change below.
    And I click on the radio labeled “No Access” in the dialog box
  7. You can add ‘And I should see “Awaiting action by user with sufficient user privileges.”’ as you did above.
  8. Make this small. Verifying Data Resolution Workflow User Rights.
    Scenario: D.106.100 Allow Data Resolution Workflow rights to be (No Access, View only, Open queries only, Respond only to opened queries, Open and respond to queries; Open, close, and respond to queries).
  9. Check indentation. Add a tab after Scenario so that all codes in that Scenario are within it
  10. While reviewing script 600, I realized that the Verify/De-verify access is tied to the DRW user rights access. Could you also include checks to verify/de-verify data with different access rights in script 100? Verify data in one field and then check if users can see de-verified data, and also if they can see verified data. This is similar to the DWR open query.

@coreen: Review Completed.

MENTIONED | User: coreen Created on: 9/19/2024 1:33:33 PM

SUBSCRIBED | User: coreen Created on: 9/19/2024 1:33:33 PM

ISSUE COMMENT | User: MintooXavier Created on: 9/19/2024 3:19:32 PM Issue comment body:

D.106.600

  1. Check indentation. Add a tab after Scenario so that all codes in that Scenario are within it.
  2. Scenario title - Verify and de-verify data
  3. Same as in script 100. Change for user import as well.
    And I upload a “csv” format file located at “cypress/span>ixtures/span>edcap_val_fixturesmport_files.106.100_Data_Import”, by clicking the button near “Choose file” to browse for the file, and clicking the button labeled “Upload file” to upload the file
  4. Same as in script 100. Similarly change in other locations.
    | mm/dd/yyyy hh:mm | Test_Admin | Data Changes Made: ptname_v2_v2 = ‘Tony Stone’ |
  5. Same as above.
    | 1 | ptname_v2_v2 | Test_User1 “” | Test_User1Test de-verify data” |
  6. This needs to be checked for all user rights.. I have included a comment in script 100 to verify this. This can be deleted from here and included in script 100.

@CoreenDsouza : Pre-review Completed.

MENTIONED | User: CoreenDsouza Created on: 9/19/2024 3:19:33 PM

SUBSCRIBED | User: CoreenDsouza Created on: 9/19/2024 3:19:33 PM

ISSUE COMMENT | User: CoreenDsouza Created on: 9/23/2024 11:53:57 AM Issue comment body:

Please confirm,
Image

The status of verify button needs to be checked for all 6 types of User rights at similar points below, of feature D.106.100
Image
@MintooXavier

MENTIONED | User: MintooXavier Created on: 9/23/2024 11:53:59 AM

SUBSCRIBED | User: MintooXavier Created on: 9/23/2024 11:53:59 AM

ISSUE COMMENT | User: MintooXavier Created on: 9/23/2024 11:58:35 AM Issue comment body:

Yes, it needs to be checked for all the 6 user rights and can be done as you mentioned(I had specified this in the screenshot correctly). Try and verify everything in the Data Types instrument as everything can be verified in it as it has lots of fields.

ISSUE COMMENT | User: CoreenDsouza Created on: 9/23/2024 12:27:38 PM Issue comment body:

Will do, thank you @MintooXavier

MENTIONED | User: MintooXavier Created on: 9/23/2024 12:27:40 PM

SUBSCRIBED | User: MintooXavier Created on: 9/23/2024 12:27:40 PM

ISSUE COMMENT | User: MintooXavier Created on: 10/1/2024 3:02:36 PM Issue comment body:

D.106.100

  1. Step 10 not done partially. Added steps to verify a field and then check if all users can see ‘de-verify data value’. Added this for all 6 user rights.

I have added this and pushed the code.

Script review completed. Test pass

CLOSED | User: MintooXavier Created on: 10/3/2024 1:15:05 PM Closed reason: COMPLETED

REOPENED | User: MintooXavier Created on: 10/3/2024 1:15:07 PM Reason: REOPENED

ISSUE COMMENT | User: MintooXavier Created on: 10/9/2024 1:12:18 PM Issue comment body:

D.106.600

I have modified the script. Check diff in Github to view changes.

Major changes done are as follows:

  1. Since we are only using 1 user, no need to import users. create project and do all the actions as test_user1 without logging out.
  2. Added steps to check resolve issues after data verified.
  3. Added steps to verify logging

Script Pre-reviewed and Test Pass

ISSUE COMMENT | User: MintooXavier Created on: 10/10/2024 12:39:39 PM Issue comment body:

D.106.800

I have modified the script. Check diff in Github to view changes.

Major changes done are as follows:

  1. Since we are only using 2 users, no need to import users. create project as user1 and add user2.
  2. Added steps to edit/delete cmments
  3. Added staps to verify logging

Script Pre-reviewed and Test Pass

ISSUE COMMENT | User: MintooXavier Created on: 10/10/2024 2:35:24 PM Issue comment body:

D.106.200

Major changed done are as follows:

  1. Since we are only using 2 users, no need to import users. create project as user1 and add user2.
  2. No need to verify user rights as it is done in script D.106.100. Removed all the User Rights verification
  3. file1.csv is missing. But used another file instead.
  4. Modified logging.
  5. Added csv verification

I have made the changes and pushed to git.

Script pre-reviewed and Test Pass

ISSUE COMMENT | User: MintooXavier Created on: 11/6/2024 2:56:59 PM Issue comment body:

Added step definition for additional customizations

LABELLED | User: MintooXavier Created on: 11/21/2024 3:40:48 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 11/21/2024 3:40:52 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 11/21/2024 3:42:07 PM Issue comment body:

Scripts automated:

  1. D.106.100

  2. D.106.200 - Cannot check the data for export as data is of the form: Test_User1 (11/22/2024 8:03am): “Query 1”.
    Tried other Step Definitions (the downloaded CSV with filename “” has a value “” for column ““), but since the file name contains the extension ’_hhmm’ it’s not picking up the correct file.

  3. D.106.600

  4. D.106.800

ISSUE COMMENT | User: MintooXavier Created on: 11/25/2024 4:35:55 PM Issue comment body:

D.106.200 - Script fixed. The issue was with the timezone. Hence the script was not picking up the file. Modified timezone in php.ini in CCTC_REDCap_Docker. Script is automated and checks the export data. All tests pass.

UNLABELLED | User: MintooXavier Created on: 4/24/2025 10:23:34 AM Label name: Manual Label description:


————— feature ends —————



Feature: 23. Logging

Id: I_kwDOIaOBn86OEuMK Uid: redcap_cypress-63
Author: MintooXavier Created: 7/1/2024 11:34:22 AM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/63
Milestone: |none| Labels: Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:54:30 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is the audit trail of a project. It checks if the user actions are recorded correctly in the audit trail.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/23_logging_module.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Logging%20Module_23/B.2.23.100%20-%20Record%20Changes.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Logging%20Module_23/B.2.23.200%20-%20Export%20Audit%20Trail.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Logging%20Module_23/B.2.23.300%20-%20Filtering%20Ability.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Logging%20Module_23/B.2.23.400%20-%20Module%20Security.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/23_logging_module.spec

B.2.23.100 - User Interface: The logging module shall record all changes with username, timestamp, actions, and list of data changes/fields exported
B.2.23.200 - User Interface: The logging module shall provide the ability to export audit trail.
B.2.23.300 - User Interface: The logging module shall provide the ability to filter by the following: (Event | Username | Record | DAG | Time Range)
B.2.23.400 - User Interface: The logging module shall be secure, tamper-proof, and not susceptible to unauthorized modifications.
D.2.23.500 - User Interface: Email Logging Module shall provide the ability to search/filter by the following: (Keyword | Invitation type (ASI or Alerts & Notifications) | Record | Time Range)
D.2.23.600 - User Interface: Email Logging Module shall record outgoing emails with view message, time sent, record, and summary email content and attributes

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Logging%20Module_23/B.2.23.100%20-%20Record%20Changes.feature

Feature: User Interface: The logging module shall record all changes with username, timestamp, actions, and list of data changes/fields exported.

As a REDCap end user I want to see that Logging Module is functioning as expected

Scenario: B.2.23.100.100 Logging module records changes #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.23.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.2.23.100.100”

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far." in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION: Logging Module
When I click on the link labeled "Logging"
##VERIFY
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action        | List of Data Changes OR Fields Exported |
  | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Move project to Production status       |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Logging%20Module_23/B.2.23.200%20-%20Export%20Audit%20Trail.feature

Feature: User Interface: The logging module shall provide the ability to export audit trail.

As a REDCap end user I want to see that Logging Module is functioning as expected

Scenario: B.2.23.200.100 Logging module export #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.23.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.2.23.200.100”

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far." in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION: Logging Module
When I click on the link labeled "Logging"
#NOTE: For automated tests, we need to say "to download a file" at the end of this so we don't hang the browser ...
And I click on the button labeled "All logging" to download a file

##VERIFY
Then I should see the latest downloaded "csv" file containing the headings below
  | "Time / Date" | Username | Action | "List of Data Changes OR Fields Exported" | Record |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Logging%20Module_23/B.2.23.300%20-%20Filtering%20Ability.feature

Feature: User Interface: The logging module shall provide the ability to filter by the following: • Event • Username • Record • DAG • Time Range

As a REDCap end user I want to see that Logging Module is functioning as expected

Scenario: B.2.23.300.100 Logging module filter function #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.23.300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.2.23.300.100”

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far." in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION: Logging Module
When I click on the link labeled "Logging"

##VERIFY
Then I should see "Filter by event"
And I should see "Filter by user name"
And I should see "Filter by record"
And I should see "Filter by records in a DAG"
And I should see "Filter by time range from"
And I should see "Displaying events"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Logging%20Module_23/B.2.23.400%20-%20Module%20Security.feature

Feature: User Interface: The logging module shall be secure, tamper-proof, and not susceptible to unauthorized modifications.

As a REDCap end user I want to see that Logging Module is functioning as expected

Scenario: B.2.23.400.100 Logging module security #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.2.23.400.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button When I click on the link labeled “My Projects” And I click on the link labeled “B.2.23.400.100”

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far." in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##USER_RIGHTS
And I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Add new user"
And I click on the button labeled "Add with custom rights"
And I uncheck the User Right named "Logging"
And I save changes within the context of User Rights

#FUNCTIONAL REQUIREMENT
##ACTION: Logging Module – Admin unable to edit
When I click on the link labeled "Logging"
##VERIFY
Then I should NOT see a button labeled "Edit"
And I should NOT see a button labeled "Modify"
And I should NOT see a button labeled "Upload"
And I logout

#FUNCTIONAL REQUIREMENT
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"

##ACTION: Logging Module – Restricted access to module
And I click on the link labeled "B.2.23.400.100"

##VERIFY
Then I should NOT see a link labeled "Logging"

Comments:

Comment:

Author: MintooXavier Updated on: 7/1/2024 12:43:28 PM

Comment body:

Scripts pre-reviewed:

  1. B.2.23.100 - Record Changes
  2. B.2.23.200 - Export Audit Trail
  3. B.2.23.300 - Filtering Ability
  4. B.2.23.400 - Module Security

Comment edits:

Created: 7/1/2024 12:43:27 PM Edited on: 7/1/2024 12:43:27 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts pre-reviewed: 1. B.2.23.100 - Record Changes 2. B.2.23.200 - Export Audit Trail 3. B.2.23.300 - Filtering Ability 4. B.2.23.400 - Module Security

Created: 7/1/2024 12:33:56 PM Edited on: 7/1/2024 12:33:56 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.2.23.100 - Record Changes
  2. B.2.23.200 - Export Audit Trail
  3. B.2.23.300 - Filtering Ability
  4. B.2.23.400 - Module Security

Created: 7/1/2024 12:33:56 PM Edited on: 7/1/2024 11:35:41 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.2.23.100 - Record Changes - Checked
  2. B.2.23.200 - Export Audit Trail

Comment:

Author: MintooXavier Updated on: 7/4/2024 1:58:32 PM

Comment body:

All tests pass

Comment edits:

Created: 7/4/2024 1:58:32 PM Edited on: 7/4/2024 1:58:32 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

All tests pass

Created: 7/4/2024 1:58:32 PM Edited on: 7/4/2024 1:55:43 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

All test pass


Timeline events:

LABELLED | User: MintooXavier Created on: 7/1/2024 11:34:22 AM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/1/2024 11:34:22 AM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/1/2024 11:34:22 AM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/1/2024 11:34:22 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/1/2024 11:35:41 AM Issue comment body:

Scripts pre-reviewed:

  1. B.2.23.100 - Record Changes
  2. B.2.23.200 - Export Audit Trail
  3. B.2.23.300 - Filtering Ability
  4. B.2.23.400 - Module Security
ISSUE COMMENT | User: MintooXavier Created on: 7/4/2024 1:55:43 PM Issue comment body:

All tests pass


————— feature ends —————



Feature: 18. Data Quality

Id: I_kwDOIaOBn86NDqAA Uid: redcap_cypress-59
Author: MintooXavier Created: 6/21/2024 1:24:16 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/59
Milestone: |none| Labels: Question || Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:52:42 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to add validations in a project.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/18_data_quality.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.100%20-%20Data%20Quality%20default%20rules.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.200%20-%20Data%20Quality%20create%20rules.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.300%20-%20Data%20Quality%20execute%20rules.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.400%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.500%20-%20Data%20Quality%20disrepancies.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.600%20-%20Data%20Quality%20exclude%20rules.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.700%20-%20Data%20Quality%20edit%20rules.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.800%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.900%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.1000%20-%20Data%20Quality%20realtime.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.1100%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.1200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.1300%20-%20Data%20Quality%20DAG.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.1400%20-%20Data%20Quality%20support%20user%20rights.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/18_data_quality.spec

C.4.18.100 - User Interface: The system shall provide default rules after installation of the application.
C.4.18.200 - User Interface: The system shall support data quality rule creation.
C.4.18.300 - User Interface: The system shall support executing a rule.
C.4.18.400 - User Interface: The system shall support executing all rules at the same time.
C.4.18.500 - User Interface: The system shall support viewing discrepancies found in rule execution.
C.4.18.600 - User Interface: The system shall support excluding discrepancies found in rule execution.
C.4.18.700 - User Interface: The system shall support editing of user defined rules.
C.4.18.800 - User Interface: The system shall support the deletion of a user defined rule.
C.4.18.900 - User Interface: The system shall support clearing discrepancies from rules executed.
C.4.18.1000 - User Interface: The system shall support the ability to run custom data quality rules real time.
C.4.18.1100 - User Interface: The system shall support validating the unique event name used in custom rules for longitudinal projects.
C.4.18.1200 - User Interface: The system shall support removal of exclusion of discrepancies.
C.4.18.1300 - User Interface: The system shall support limiting rule viewing to a Data Access Group.
C.4.18.1400 - User Interface: The system shall support limiting a rule viewing that references a field to only users with access rights.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.100%20-%20Data%20Quality%20default%20rules.feature

Feature: User Interface: The system shall provide default rules after installation of the application.

As a REDCap end user I want to see that Data Quality Module is functioning as expected

Scenario: C.4.18.100.100 Default data quality rules #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.4.18.100.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project418.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL_REQUIREMENT
##ACTION
When I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"
And I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name                                                                 | Rule Logic (Show discrepancy  only if...) |
  | A      | Blank values*                                                             | -                                         |
  | B      | Blank values* (required fields only)                                      | -                                         |
  | C      | Field validation errors (incorrect data type)                             | -                                         |
  | D      | Field validation errors (out of range)                                    | -                                         |
  | E      | Outliers for numerical fields (numbers, integers, sliders, calc fields)** | -                                         |
  | F      | Hidden fields that contain values***                                      | -                                         |
  | G      | Multiple choice fields with invalid values                                | -                                         |
  | H      | Incorrect values for calculated fields                                    | -                                         |
  | I      | Fields containing "missing data codes"                                    | -                                         |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.200%20-%20Data%20Quality%20create%20rules.feature

Feature: User Interface: The system shall support data quality rule creation.

As a REDCap end user I want to see that Data Quality Module is functioning as expected

Scenario: C.4.18.200.100 Data quality rule creation #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.4.18.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project418.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL_REQUIREMENT
##REDUNDANT C.4.18.1100 Data quality rule creation for longitudinal projects
##ACTION: Manual rule add
When I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"

When I enter "Integer" into the textarea field labeled "Enter descriptive name for new rule"
And I enter "[event_1_arm_1][integer]='1999'" into the textarea field labeled "Enter logic for new rule"
And I clear field and enter "[event_1_arm_1][integer]='1999'" in the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" in the dialog box
And I click on the button labeled "Add" on the active Data Quality rule
##VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name | Rule Logic (Show discrepancy only if...) |
  | 3      | Integer   | [event_1_arm_1][integer]='1999'          |

#FUNCTIONAL_REQUIREMENT
##ACTION: Upload rule
And I click on the button labeled "Upload or download Data Quality Rules"
And I click on the link labeled "Upload Data Quality Rule (CSV)"
And I upload a "csv" format file located at "import_files/C418100TEST_DataQualityRules_Upload.csv", by clicking the button near "Select your CSV" to browse for the file, and clicking the button labeled "Upload" to upload the file
Then I should see "Upload Data Quality Rule (CSV) - Confirm" in the dialog box

When I click on the button labeled "Upload" in the dialog box
Then I should see "SUCCESS!"

When I click on the button labeled "Close" in the dialog box
Then I should see "Data Quality Rules"
##VERIFY
And I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name | Rule Logic (Show discrepancy only if...) |
  | 4      | Integer   | [integer]<>'1999'                        |

##ACTION: create record for new rule
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 11"

When I enter "1999" into the data entry form field labeled "Integer"
And I click on the button labeled "Close" in the dialog box
And I click on the button labeled "Save & Exit Form"
Then I should see "Record ID 11 successfully added."

##ACTION: create record for uploaded new rule
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
Then I should see "Adding new Record ID 12."

When I enter "2000" into the data entry form field labeled "Integer"
And I click on the button labeled "Close" in the dialog box
And I click on the button labeled "Save & Exit Form"
Then I should see "Record ID 12 successfully added."

#VERIFY
When I click on the link labeled "Data Quality"
And I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | 3      | Integer   | [event_1_arm_1][integer]='1999'          | 0                   |
  | 4      | Integer   | [integer]<>'1999'                        | 18                  |

##ACTION: edit existing rule for longitudinal projects
When I click the element containing the following text: "[event_1_arm_1][integer]='1999'"
And I clear field and enter "[event_1_arm_1][integer]='1'" in the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" in the dialog box
And I click on the button labeled "Save" on the active Data Quality rule
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name | Rule Logic (Show discrepancy only if...) |
  | 3      | Integer   | [event_1_arm_1][integer]='1'             |

##ACTION: edit existing rule
And I click the element containing the following text: "[integer]<>'1999'"
And I clear field and enter "[integer]='1'" in the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" in the dialog box
And I click on the button labeled "Save" on the active Data Quality rule

Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name | Rule Logic (Show discrepancy only if...) |
  | 4      | Integer   | [integer]='1'                            |
#M: refresh browser page

#VERIFY
And I click on the link labeled "Data Quality"
And I click on the button labeled exactly "All"
And I should see "Processing Complete!"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | 3      | Integer   | [event_1_arm_1][integer]='1'             | 6                   |
  | 4      | Integer   | [integer]='1'                            | 6                   |

##ACTION: delete rule
When I click on the Delete icon for Data Quality Rule # "4"
#MANUAL: confirmation windows are automatically accepted on automated side
#And I click on the button labeled "OK" in the dialog box
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | 3      | Integer   | [event_1_arm_1][integer]='1999'          | 0                   |
Then I should NOT see "[integer]='1'"

##VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action        | List of Data Changes OR Fields Exported |
  | test_admin | Manage/Design | Delete data quality rule                |
  | test_admin | Manage/Design | Edit data quality rule                  |
  | test_admin | Manage/Design | Execute data quality rule(s)            |
  | test_admin | Manage/Design | Upload Data Quality Rules               |
  | test_admin | Manage/Design | Create data quality rule                |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.300%20-%20Data%20Quality%20execute%20rules.feature

Feature: User Interface: The system shall support executing a rule.

As a REDCap end user I want to see that Data Quality Module is functioning as expected

Scenario: C.4.18.300.100 Executing data quality rule #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.4.18.300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project418.xml”, and clicking the “Create Project” button #SETUP_PRODUCTION When I click on the link labeled “Project Setup” And I click on the button labeled “Move project to production” And I click on the radio labeled “Keep ALL data saved so far” in the dialog box And I click on the button labeled “YES, Move to Production Status” in the dialog box to request a change in project status Then I should see Project status: “Production” #FUNCTIONAL REQUIREMENT ##ACTION The system shall support executing a single rule. When I click on the link labeled “Data Quality” And I click on the “Execute” button for Data Quality Rule # “1” Then I should see a table header and rows containing the following values in a table: | Rule # | Rule Name | Rule Logic | Total Discrepancies | | 1 | [radio]=9.9 | [radio]=9.9 | 1 |

#FUNCTIONAL REQUIREMENT
##ACTION The system shall support executing all rules.
When I click on the link labeled "Data Quality"
And I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name                                     | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | A      | Blank values*                                 | -                                        | 377                 |
  | B      | Blank values* (required fields only)          | -                                        | 2                   |
  | C      | Field validation errors (incorrect data type) | -                                        | 1                   |
  | D      | Field validation errors (out of range)        | -                                        | 4                   |
  | E      | Outliers for numerical fields                 | -                                        | 2                   |
  | F      | Hidden fields that contain values***          | -                                        | 1                   |
  | G      | Multiple choice fields with invalid values    | -                                        | 1                   |
  | H      | Incorrect values for calculated fields        | -                                        | 26                  |
  | I      | Fields containing "missing data codes"        | -                                        | 4                   |
  | 1      | [radio]=9.9                                   | [radio]=9.9                              | 1                   |
  | 2      | [ptname]<>[name]                              | [ptname]<>[name]                         | 8                   |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.400%20-%20REDUNDANT.feature

Feature: User Interface: The system shall support executing all rules at the same time.

This feature test is REDUNDANT and can be viewed in C.4.18.300.100C.4.18.500

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.500%20-%20Data%20Quality%20disrepancies.feature

Feature: User Interface: The system shall support viewing discrepancies found in rule execution.

As a REDCap end user I want to see that Data Quality Module is functioning as expected

Scenario: C.4.18.500.100 View discrepancies #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.4.18.500.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project418.xml”, and clicking the “Create Project” button #SETUP_PRODUCTION When I click on the link labeled “Project Setup” And I click on the button labeled “Move project to production” And I click on the radio labeled “Keep ALL data saved so far” in the dialog box And I click on the button labeled “YES, Move to Production Status” in the dialog box Then I should see Project status: “Production”

##ACTION executing all rules.
When I click on the link labeled "Data Quality"
And I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name                                     | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | A      | Blank values*                                 | -                                        | 377                 |
  | B      | Blank values* (required fields only)          | -                                        | 2                   |
  | C      | Field validation errors (incorrect data type) | -                                        | 1                   |
  | D      | Field validation errors (out of range)        | -                                        | 4                   |
  | E      | Outliers for numerical fields                 | -                                        | 2                   |
  | F      | Hidden fields that contain values***          | -                                        | 1                   |
  | G      | Multiple choice fields with invalid values    | -                                        | 1                   |
  | H      | Incorrect values for calculated fields        | -                                        | 26                  |
  | I      | Fields containing "missing data codes"        | -                                        | 4                   |
  | 1      | [radio]=9.9                                   | [radio]=9.9                              | 1                   |
  | 2      | [ptname]<>[name]                              | [ptname]<>[name]                         | 8                   |

#FUNCTIONAL_REQUIREMENT
##ACTION: verify ability to view discrepancies

When I click on the "view" link for Data Quality Rule # "C"
#When I click on the link labeled "view" for the Rule Name labeled "Field validation errors (incorrect data type)"
Then I should see "Rule: Field validation errors (incorrect data type)" in the dialog box
And I should see "Discrepancies found: 1" in the dialog box
And I should see a table header and rows containing the following values in a table:
  | Record                    | Discrepant fields with their values | Status           | Exclude |
  | 6  Event 1 (Arm 1: Arm 1) | email = HelloWorld                  | Validation error | exclude |

#FUNCTIONAL_REQUIREMENT
Given I click on the button labeled "Export results (CSV)" in the dialog box
Then I should see "SUCCESS! The data quality results were successfully downloaded."
And the downloaded CSV with filename "C418500100_DataQualityDiscrepancies_FieldValidationErrorsIncorrect_yyyy-mm-dd.csv" has the header and rows below
  | record_id | result-status    | email      |
  | 6         | Validation error | HelloWorld |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.600%20-%20Data%20Quality%20exclude%20rules.feature

Feature: User Interface: The system shall support excluding discrepancies found in rule execution.

As a REDCap end user I want to see that Data Quality Module is functioning as expected

Scenario: C.4.18.600.100 Exclude discrepancies #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.4.18.600.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project418.xml”, and clicking the “Create Project” button #SETUP_PRODUCTION When I click on the link labeled “Project Setup” And I click on the button labeled “Move project to production” And I click on the radio labeled “Keep ALL data saved so far” in the dialog box And I click on the button labeled “YES, Move to Production Status” in the dialog box to request a change in project status Then I should see Project status: “Production”

##ACTION executing all rules.
When I click on the link labeled "Data Quality"
And I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name                                     | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | A      | Blank values*                                 | -                                        | 377                 |
  | B      | Blank values* (required fields only)          | -                                        | 2                   |
  | C      | Field validation errors (incorrect data type) | -                                        | 1                   |
  | D      | Field validation errors (out of range)        | -                                        | 4                   |
  | E      | Outliers for numerical fields                 | -                                        | 2                   |
  | F      | Hidden fields that contain values***          | -                                        | 1                   |
  | G      | Multiple choice fields with invalid values    | -                                        | 1                   |
  | H      | Incorrect values for calculated fields        | -                                        | 26                  |
  | I      | Fields containing "missing data codes"        | -                                        | 4                   |
  | 1      | [radio]=9.9                                   | [radio]='9..9'                           | 1                   |
  | 2      | [ptname]<>[name]                              | [ptname]<>[name]                         | 8                   |

#FUNCTIONAL_REQUIREMENT
##ACTION: verify ability to exclude a discrepancy
When I click on the "view" link for Data Quality Rule # "D"
Then I should see "Rule: Field validation errors (out of range)" in the dialog box
And I should see "Discrepancies found: 4" in the dialog box
And I should see a table header and rows containing the following values in a table:
  | Record | Discrepant fields with their values | Status       | Exclude |
  | 5 (#1) | integer = 1111111111                | Out of range | exclude |
  | 5 (#1) | number_1_comma = 22222222.0         | Out of range | exclude |
  | 5 (#1) | number_1_period = 4.2               | Out of range | exclude |
  | 5 (#1) | number = 10.000                     | Out of range | exclude |

When I click on the "exclude" link for the Discrepant field labeled "Integer"
Then I should see a table header and rows containing the following values in a table:
  | Record | Discrepant fields with their values | Status       | Exclude          |
  | 5 (#1) | integer = 1111111111                | Out of range | remove exclusion |

And I click on the button labeled "Close" in the dialog box
#M: refresh the page

##VERIFY
Then I click on the button labeled "Clear"

Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name                                     | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | A      | Blank values*                                 | -                                        | Execute             |
  | B      | Blank values* (required fields only)          | -                                        | Execute             |
  | C      | Field validation errors (incorrect data type) | -                                        | Execute             |
  | D      | Field validation errors (out of range)        | -                                        | Execute             |
  | E      | Outliers for numerical fields                 | -                                        | Execute             |
  | F      | Hidden fields that contain values***          | -                                        | Execute             |
  | G      | Multiple choice fields with invalid values    | -                                        | Execute             |
  | H      | Incorrect values for calculated fields        | -                                        | Execute             |
  | I      | Fields containing "missing data codes"        | -                                        | Execute             |
  | 1      | [radio]=9.9                                   | [radio]='9..9'                           | Execute             |
  | 2      | [ptname]<>[name]                              | [ptname]<>[name]                         | Execute             |

When I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name                              | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | D      | Field validation errors (out of range) | -                                        | 3                   |

#FUNCTIONAL_REQUIREMENT
##ACTION: verify ability to add back excluded discrepancy
When I click on the "view" link for Data Quality Rule # "D"
Then I should see "Rule: Field validation errors (out of range)" in the dialog box
And I should see "Discrepancies found: 3" in the dialog box
And I should see "1 exclusion not displayed" in the dialog box
And I should see a link labeled "view" in the dialog box

When I click on the link labeled "view" in the dialog box
Then I should see "Rule: Field validation errors (out of range)" in the dialog box
And I should see "Discrepancies found: 4" in the dialog box
And I should see a table header and rows containing the following values in a table:
  | Record | Discrepant fields with their values | Status       | Exclude          |
  | 5 (#1) | integer = 1111111111                | Out of range | remove exclusion |
  | 5 (#1) | number_1_comma = 22222222.0         | Out of range | exclude          |
  | 5 (#1) | number_1_period = 4.2               | Out of range | exclude          |
  | 5 (#1) | number = 10.000                     | Out of range | exclude          |

When I click on the "remove exclusion" link for the Discrepant field labeled "Integer"
And I should see a table header and rows containing the following values in a table:
  | Record | Discrepant fields with their values | Status       | Exclude |
  | 5 (#1) | integer = 1111111111                | Out of range | exclude |
  | 5 (#1) | number_1_comma = 22222222.0         | Out of range | exclude |
  | 5 (#1) | number_1_period = 4.2               | Out of range | exclude |
  | 5 (#1) | number = 10.000                     | Out of range | exclude |

And I click on the button labeled "Close" in the dialog box
#M: refresh the page

##VERIFY
Then I click on the button labeled "Clear"
When I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name                              | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | D      | Field validation errors (out of range) | -                                        | 4                   |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.700%20-%20Data%20Quality%20edit%20rules.feature

Feature: User Interface: The system shall support editing of user defined rules.

As a REDCap end user I want to see that Data Quality Module is functioning as expected

Scenario: C.4.18.700.100 Edit rule #ATS prerequisite: Normal users cannot move projects to production by default - let’s adjust that before we proceed. Given I login to REDCap with the user “Test_Admin” When I click on the link labeled “Control Center” And I click on the link labeled “User Settings” Then I should see “System-level User Settings” Given I select “Yes, normal users can move projects to production” on the dropdown field labeled “Allow normal users to move projects to production?” When I click on the button labeled “Save Changes” And I see “Your system configuration values have now been changed!” Then I logout

#SETUP
Given I login to REDCap with the user "Test_User1"
And I create a new project named "C.4.18.700.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project418.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status:  "Production"
#USER_RIGHTS
When I click on the link labeled "User Rights"
And I click on the link labeled "test_user1"
And I click on the button labeled "Edit user privileges"
Then I should see 'Editing existing user "test_user1"'
Then  I check the User Right named "Data Quality - Create & edit rules"
Then  I check the User Right named "Data Quality - Execute rules"
And I click on the button labeled "Save Changes"
Then I should see 'User "test_user1" was successfully edited'

#FUNCTIONAL_REQUIREMENT
##ACTION: Manual rule add
When I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"

When I enter "Integer" into the textarea field labeled "Enter descriptive name for new rule"
And I enter "[integer]='1'" into the textarea field labeled "Enter logic for new rule"
And I clear field and enter "[integer]='1'" in the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" in the dialog box
And I click on the button labeled "Add"
##VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name | Rule Logic (Show discrepancy only if...) |
  | 3      | Integer   | [integer]='1'                            |

#FUNCTIONAL_REQUIREMENT
##ACTION executing rule
When I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name                                     | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | A      | Blank values*                                 | -                                        | 377                 |
  | B      | Blank values* (required fields only)          | -                                        | 2                   |
  | C      | Field validation errors (incorrect data type) | -                                        | 1                   |
  | D      | Field validation errors (out of range)        | -                                        | 4                   |
  | E      | Outliers for numerical fields                 | -                                        | 2                   |
  | F      | Hidden fields that contain values***          | -                                        | 1                   |
  | G      | Multiple choice fields with invalid values    | -                                        | 1                   |
  | H      | Incorrect values for calculated fields        | -                                        | 26                  |
  | I      | Fields containing "missing data codes"        | -                                        | 4                   |
  | 1      | [radio]=9.9                                   | [radio]='9..9'                           | 1                   |
  | 2      | [ptname]<>[name]                              | [ptname]<>[name]                         | 8                   |
  | 3      | Integer                                       | [integer]='1'                            | 6                   |

#USER_RIGHTS
##ACTION: change rights-cannot create rules
When I click on the link labeled "User Rights"
And I click on the link labeled "test_user1 (Test User1)"
And I click on the button labeled "Edit user privileges"
Then  I uncheck the User Right named "Data Quality - Create & edit rules"
And I click on the button labeled "Save Changes"
Then I should see 'User "test_user1" was successfully edited'


#FUNCTIONAL_REQUIREMENT
##ACTION: cannot add rule and can execute rules
When I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"
And I should NOT see a button labeled "Add"
And I should see a button labeled "Execute"

When I click on the button labeled exactly "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name                                     | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | A      | Blank values*                                 | -                                        | 377                 |
  | B      | Blank values* (required fields only)          | -                                        | 2                   |
  | C      | Field validation errors (incorrect data type) | -                                        | 1                   |
  | D      | Field validation errors (out of range)        | -                                        | 4                   |
  | E      | Outliers for numerical fields                 | -                                        | 2                   |
  | F      | Hidden fields that contain values***          | -                                        | 1                   |
  | G      | Multiple choice fields with invalid values    | -                                        | 1                   |
  | H      | Incorrect values for calculated fields        | -                                        | 26                  |
  | I      | Fields containing "missing data codes"        | -                                        | 4                   |
  | 1      | [radio]=9.9                                   | [radio]='9..9'                           | 1                   |
  | 2      | [ptname]<>[name]                              | [ptname]<>[name]                         | 8                   |
  | 3      | Integer                                       | [integer]='1'                            | 6                   |


#USER_RIGHTS
##ACTION: change rights - cannot execute rules
When I click on the link labeled "User Rights"
And I click on the link labeled "test_user1 (Test User1)"
And I click on the button labeled "Edit user privileges"
Then  I check the User Right named "Data Quality - Create & edit rules"
Then  I uncheck the User Right named "Data Quality - Execute rules"
And I click on the button labeled "Save Changes"
Then I should see 'User "test_user1" was successfully edited'

#FUNCTIONAL_REQUIREMENT
##ACTION: can add rule and cannot execute rules
When I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"
And I should see a button labeled "Add"
And I should NOT see a button labeled "All"
And I should NOT see a button labeled "Execute"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.800%20-%20REDUNDANT.feature

Feature: User Interface: The system shall support the deletion of a user defined rule.

This feature test is REDUNDANT and can be viewed in C.4.18.200.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.900%20-%20REDUNDANT.feature

Feature: User Interface: The system shall support clearing discrepancies from rules executed.

This feature test is REDUNDANT and can be viewed in C.4.18.600.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.1000%20-%20Data%20Quality%20realtime.feature

Feature: User Interface: The system shall support the ability to run custom data quality rules real time.

As a REDCap end user I want to see that Data Quality Module is functioning as expected

Scenario: C.4.18.1000.100 Real-time rule execution #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.4.18.1000.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project418.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box
Then I should see Project status: "Production"

#SETUP_PRODUCTION: Rule Creation
When I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"

When I enter "Integer" into the textarea field labeled "Enter descriptive name for new rule"
And I enter "[integer]<>'1999'" into the textarea field labeled "Enter logic for new rule"
And I clear field and enter "[integer]<>'1999'" in the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" in the dialog box
And I check the checkbox labeled "Execute in real time on data entry forms"
And I click on the button labeled "Add"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name | Rule Logic (Show discrepancy only if...) |
  | 3      | Integer   | [integer]<>'1999'                        |

#FUNCTIONAL_REQUIREMENT
##ACTION: System shall support the ability to run custom data quality rules real time
When I click on the link labeled "Add / Edit Records"
And I click on the button labeled "Add new record for the arm selected above"
And I click the bubble to add a record for the "Data Types" longitudinal instrument on event "Event 1"
And I clear field and enter "2000" into the data entry form field labeled "Integer"
And I click on the button labeled "Close" in the dialog box
And I click on the button labeled "Save & Exit Form"
Then I should see "WARNING: Data Quality rules were violated!"
And I click on the button labeled "Close" in the dialog box

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.1100%20-%20REDUNDANT.feature

Feature: User Interface: The system shall support validating the unique event name used in custom rules for longitudinal projects.

This feature test is REDUNDANT and can be viewed in C.4.18.200.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.1200%20-%20REDUNDANT.feature

Feature: User Interface: The system shall support removal of exclusion of discrepancies.

This feature test is REDUNDANT and can be viewed in C.4.18.600.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.1300%20-%20Data%20Quality%20DAG.feature

Feature: User Interface: The system shall support limiting rule viewing to a Data Access Group.

As a REDCap end user I want to see that Data Quality Module is functioning as expected

Scenario: C.4.18.1300.100 DAG limits rule viewing #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.4.18.1300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project418.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box
Then I should see Project status: "Production"

#USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "TestGroup1" on the dropdown field labeled "[No Assignment]" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

Then I should see a table header and rows containing the following values in a table:
  | Role         | Username or users assigned to a role | Expiration | Data Access Group |
  | —            | test_admin (Admin User)              | never      | —                 |
  | 1_FullRights | test_user1 (Test User1)              | never      | TestGroup1        |


When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
And I select "TestGroup2" on the dropdown field labeled "[No Assignment]" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "1_FullRights" row of the column labeled "Username" of the User Rights table
Then I should see a table header and rows containing the following values in a table:
  | Role         | Username or users assigned to a role | Expiration | Data Access Group |
  | —            | test_admin (Admin User)              | never      | —                 |
  | 1_FullRights | test_user1 (Test User1)              | never      | TestGroup1        |
  |              | test_user2 (Test User2)              | never      | TestGroup2        |

#SETUP: Create Data Quality Rule
When I click on the link labeled "Data Quality"
And I enter "TestGroup1" into the textarea field labeled "Enter descriptive name for new rule"
And I enter '([ptname]<>[name]) AND ([user-dag-name]="testgroup1")' into the textarea field labeled "Enter logic for new rule"
And I clear field and enter '([ptname]<>[name]) AND ([user-dag-name]="testgroup1")' into the textarea field labeled "Logic Editor" in the dialog box
And I click on the button labeled "Update & Close Editor" in the dialog box
And I click on the button labeled "Add"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name  | Rule Logic (Show discrepancy only if...)              |
  | 3      | TestGroup1 | ([ptname]<>[name]) AND ([user-dag-name]="testgroup1") |
And I logout

#FUNCTIONAL_REQUIREMENT
##ACTION: testuser1 can see results within DAG
Given I login to REDCap with the user "Test_User1"
When I click on the link labeled "My Projects"
And I click on the link labeled "C.4.18.1300.100"
And I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"

When I click on the button labeled "All"
##VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name  | Rule Logic (Show discrepancy only if...)              | Total Discrepancies |
  | 3      | TestGroup1 | ([ptname]<>[name]) AND ([user-dag-name]="testgroup1") | 2                   |
And I logout

#FUNCTIONAL_REQUIREMENT
##ACTION: testuser2 cannot see results within DAG
Given I login to REDCap with the user "Test_User2"
When I click on the link labeled "My Projects"
And I click on the link labeled "C.4.18.1300.100"
And I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"

When I click on the button labeled "All"
##VERIFY
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name  | Rule Logic (Show discrepancy only if...)              | Total Discrepancies |
  | 3      | TestGroup1 | ([ptname]<>[name]) AND ([user-dag-name]="testgroup1") | 0                   |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/C/Data%20Quality_18/C.4.18.1400%20-%20Data%20Quality%20support%20user%20rights.feature

Feature: User Interface: The system shall support limiting a rule viewing that references a field to only users with access rights.

As a REDCap end user I want to see that Data Quality Module is functioning as expected

Scenario: C.4.18.1400.100 User access limit rule viewing #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “C.4.18.1400.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project418.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box
Then I should see Project status: "Production"

#USER_RIGHTS: add two users with diff access levels
When I click on the link labeled "User Rights"
And I enter "Test_User1" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "1_FullRights" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User1" within the "1_FullRights" row of the column labeled "Username" of the User Rights table

When I enter "Test_User2" into the field with the placeholder text of "Assign new user to role"
And I click on the button labeled "Assign to role"
And I select "4_NoAccess_Noexport" on the dropdown field labeled "Select Role" on the role selector dropdown
And I click on the button labeled exactly "Assign" on the role selector dropdown
Then I should see "Test User2" within the "4_NoAccess_Noexport" row of the column labeled "Username" of the User Rights table

And I logout

Given I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.4.18.1400"
And I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"

#FUNCTIONAL_REQUIREMENT
##ACTION: confirm user with full rights can execute
When I click on the button labeled "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name                                                                 | Rule Logic (Show discrepancy  only if...) | Total Discrepancies |
  | A      | Blank values*                                                             | -                                         | 377                 |
  | B      | Blank values* (required fields only)                                      | -                                         | 2                   |
  | C      | Field validation errors (incorrect data type)                             | -                                         | 1                   |
  | D      | Field validation errors (out of range)                                    | -                                         | 4                   |
  | E      | Outliers for numerical fields (numbers, integers, sliders, calc fields)** | -                                         | 2                   |
  | F      | Hidden fields that contain values***                                      | -                                         | 1                   |
  | G      | Multiple choice fields with invalid values                                | -                                         | 1                   |
  | H      | Incorrect values for calculated fields                                    | -                                         | 26                  |
  | I      | Fields containing "missing data codes"                                    | -                                         | 4                   |
  | 1      | [radio]=9.9                                                               | [radio]= '9.9'                            | 1                   |
  | 2      | [ptname]<>[name]                                                          | [ptname]<>[name]                          | 8                   |

#FUNCTIONAL_REQUIREMENT
##ACTION: verify ability to view discrepancies with access
When I click on the "view" link for Data Quality Rule # "C"
Then I should see "Rule: Field validation errors (incorrect data type)" in the dialog box
And I should see "Discrepancies found: 1" in the dialog box
And I should see a table header and rows containing the following values in a table:
  | Record                    | Discrepant fields with their values | Status           | Exclude |
  | 6  Event 1 (Arm 1: Arm 1) | email = HelloWorld                  | Validation error | exclude |

And I click on the button labeled "Close" in the dialog box
And I logout

#ACTION: switch to Test_User2
Given I login to REDCap with the user "Test_User2"
And I click on the link labeled "My Projects"
And I click on the link labeled "C.4.18.1400"
And I click on the link labeled "Data Quality"
Then I should see "Data Quality Rules"

#FUNCTIONAL_REQUIREMENT
##ACTION: confirm user with full rights can execute but NOT view discrepancy
When I click on the button labeled "All"
Then I should see a table header and rows containing the following values in a table:
  | Rule # | Rule Name                                                                 | Rule Logic (Show discrepancy only if...) | Total Discrepancies |
  | A      | Blank values*                                                             | -                                        | 0                   |
  | B      | Blank values* (required fields only)                                      | -                                        | 0                   |
  | C      | Field validation errors (incorrect data type)                             | -                                        | 1                   |
  | D      | Field validation errors (out of range)                                    | -                                        | 4                   |
  | E      | Outliers for numerical fields (numbers, integers, sliders, calc fields)** | -                                        | 2                   |
  | F      | Hidden fields that contain values***                                      | -                                        | 1                   |
  | G      | Multiple choice fields with invalid values                                | -                                        | 1                   |
  | H      | Incorrect values for calculated fields                                    | -                                        | 26                  |
  | I      | Fields containing "missing data codes"                                    | -                                        | 4                   |
  | 1      | [radio]=9.9                                                               | [radio]= '9.9'                           | ERROR               |
  | 2      | [ptname]<>[name]                                                          | [ptname]<>[name]                         | ERROR               |

When I click on the "view" link for Data Quality Rule # "C"
Then I should see "Rule: Field validation errors (incorrect data type)" in the dialog box
And I should see "Discrepancies found: 1" in the dialog box
And I should see a table header and rows containing the following values in a table:
  | Record                    | Discrepant fields with their values                             | Status           | Exclude |
  | 6  Event 1 (Arm 1: Arm 1) | email = [cannot display data] (Reason: Lack of user privileges) | Validation error | exclude |

And I click on the button labeled "Close" in the dialog box

#VERIFY_RSD GO TO RSD AND CANNOT SEE ANY INSTRUMENTS
When I click on the link labeled "Record Status Dashboard"
And I should NOT see "Text Validation"

Comments:

Comment:

Author: MintooXavier Updated on: 7/29/2024 1:48:39 PM

Comment body:
  1. C.4.18.1100 - The system shall support validating the unique event name used in custom rules for longitudinal projects.
    Script says ‘This feature test is REDUNDANT and can be viewed in C.4.18.200.100’ but it is not tested in it. I enquired about this and Theresa Baker modified the script C.4.18.200.100 to add event name but this is in v 14.3.4

C.4.18.200 - Data Quality create rules.feature

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the above script:

  1. C.4.18.700 – Data Quality edit rules

Modified both the scripts and pushed to MX_v13.1.37

Comment edits:

Created: 7/29/2024 1:48:39 PM Edited on: 7/29/2024 1:48:39 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.4.18.1100 - The system shall support validating the unique event name used in custom rules for longitudinal projects. Script says ‘This feature test is REDUNDANT and can be viewed in C.4.18.200.100’ but it is not tested in it. I enquired about this and Theresa Baker modified the script C.4.18.200.100 to add event name but this is in v 14.3.4

C.4.18.200 - Data Quality create rules.feature - Added steps to validate unique event name (C.4.18.1100) used in custom rules for longitudinal projects from V14.3.4

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the above script:

  1. C.4.18.700 – Data Quality edit rules
  • Added step to check ‘Execute button is not visible’

Modified both the scripts and pushed to MX_v13.1.37

Created: 7/24/2024 12:37:23 PM Edited on: 7/24/2024 12:37:23 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.4.18.1100 - The system shall support validating the unique event name used in custom rules for longitudinal projects. Script says ‘This feature test is REDUNDANT and can be viewed in C.4.18.200.100’ but it is not tested in it. I enquired about this and Theresa Baker modified the script C.4.18.200.100 to add event name but this is in v 14.3.4

C.4.18.200 - Data Quality create rules.feature - Added steps to validate unique event name (C.4.18.1100) used in custom rules for longitudinal projects from V14.3.4

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. C.4.18.700 – Data Quality edit rules
  • Added step to check ‘Execute button is not visible’

Modified both the scripts and pushed to MX_v13.1.37

Created: 7/17/2024 1:23:41 PM Edited on: 7/17/2024 1:23:41 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.4.18.1100 - The system shall support validating the unique event name used in custom rules for longitudinal projects. Script says ‘This feature test is REDUNDANT and can be viewed in C.4.18.200.100’ but it is not tested in it. I enquired about this and Theresa Baker modified the script C.4.18.200.100 to add event name but this is in v 14.3.4

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. C.4.18.700 – Data Quality Rules
  • In this script, test_admin is running the test. Test_admin is super admin in the automated environment. So even if we uncheck the User Rights for ‘Data Quality – create & edit rules’ and ‘Data Quality – Execute rules’, test_admin can still create and execute rules. This test needs to be run as test_user1. I have attached the script.
  1. Modified the script C.4.18.700 to include this change and pushed to MX_v13.1.37
  2. Have to incorporate the change to C.4.18.1100 - pending

Created: 6/26/2024 3:17:46 PM Edited on: 6/26/2024 3:17:46 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.4.18.1100 - The system shall support validating the unique event name used in custom rules for longitudinal projects. Script says ‘This feature test is REDUNDANT and can be viewed in C.4.18.200.100’ but it is not tested in it. I enquired about this and Theresa Baker modified the script C.4.18.200.100 to add event name but this is in v 14.3.4

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. C.4.18.700 – Data Quality Rules
  • In this script, test_admin is running the test. Test_admin is super admin in the automated environment. So even if we uncheck the User Rights for ‘Data Quality – create & edit rules’ and ‘Data Quality – Execute rules’, test_admin can still create and execute rules. This test needs to be run as test_user1. I have attached the script.
  1. Modified the script C.4.18.700 to include this change and pushed to MX_v13.1.37
  2. Have to incorporate the change to C.4.18.1100 - pending

Created: 6/26/2024 3:16:43 PM Edited on: 6/26/2024 3:16:43 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. C.4.18.1100 - The system shall support validating the unique event name used in custom rules for longitudinal projects. Script says ‘This feature test is REDUNDANT and can be viewed in C.4.18.200.100’ but it is not tested in it. I enquired about this and Theresa Baker modified the script C.4.18.200.100 to add event name but this is in v 14.

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

  1. C.4.18.700 – Data Quality Rules
  • In this script, test_admin is running the test. Test_admin is super admin in the automated environment. So even if we uncheck the User Rights for ‘Data Quality – create & edit rules’ and ‘Data Quality – Execute rules’, test_admin can still create and execute rules. This test needs to be run as test_user1. I have attached the script.
  1. Modified the script C.4.18.700 to include this change and pushed to MX_v13.1.37
  2. Have to incorporate the change to C.4.18.1100 - pending

Created: 6/26/2024 12:50:30 PM Edited on: 6/26/2024 12:50:30 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

C.4.18.1100 - The system shall support validating the unique event name used in custom rules for longitudinal projects. Script says ‘This feature test is REDUNDANT and can be viewed in C.4.18.200.100’ but it is not tested in it. I enquired about this and Theresa Baker modified the script C.4.18.200.100 to add event name.

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

C.4.18.700 – Data Quality Rules - In this script, test_admin is running the test. Test_admin is super admin in the automated environment. So even if we uncheck the User Rights for ‘Data Quality – create & edit rules’ and ‘Data Quality – Execute rules’, test_admin can still create and execute rules. This test needs to be run as test_user1. I have attached the script.

Modified the script to include this change and pushed to MX_v13.1.37

Created: 6/21/2024 1:33:50 PM Edited on: 6/21/2024 1:33:50 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

C.4.18.1100 - The system shall support validating the unique event name used in custom rules for longitudinal projects. Script says ‘This feature test is REDUNDANT and can be viewed in C.4.18.200.100’ but it is not tested in it. I enquired about this and Theresa Baker modified the script C.4.18.200.100 to add event name.

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the below script:

C.4.18.700 – Data Quality Rules - In this script, test_admin is running the test. Test_admin is super admin in the automated environment. So even if we uncheck the User Rights for ‘Data Quality – create & edit rules’ and ‘Data Quality – Execute rules’, test_admin can still create and execute rules. This test needs to be run as test_user1. I have attached the script.

Created: 6/21/2024 1:33:50 PM Edited on: 6/21/2024 1:25:18 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Emailed REDCap Team - Theresa Baker and Adam De Fouw

C.4.18.700 – Data Quality Rules - In this script, test_admin is running the test. Test_admin is super admin in the automated environment. So even if we uncheck the User Rights for ‘Data Quality – create & edit rules’ and ‘Data Quality – Execute rules’, test_admin can still create and execute rules. This test needs to be run as test_user1. I have attached the script.

Comment:

Author: MintooXavier Updated on: 7/29/2024 1:48:54 PM

Comment body:

ATS team accepted the changes

Comment:

Author: MintooXavier Updated on: 8/16/2024 1:28:11 PM

Comment body:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT
  5. C.4.18.500 - Data Quality disrepancies
  6. C.4.18.600 - Data Quality exclude rules
  7. C.4.18.700 - Data Quality edit rules
  8. C.4.18.800 - REDUNDANT
  9. C.4.18.900 - REDUNDANT
  10. C.4.18.1000 - Data Quality realtime
  11. C.4.18.1100 - REDUNDANT
  12. C.4.18.1200 - REDUNDANT
  13. C.4.18.1300 - Data Quality DAG - Assign user rights twice else doesn’t work for me. In branch MX_v13.8.1
  14. C.4.18.1400 - Data Quality support user rights - Assign user rights twice else doesn’t work for me. In branch MX_v13.8.1

All scripts pass

Comment edits:

Created: 8/16/2024 1:28:11 PM Edited on: 8/16/2024 1:28:11 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT
  5. C.4.18.500 - Data Quality disrepancies
  6. C.4.18.600 - Data Quality exclude rules
  7. C.4.18.700 - Data Quality edit rules
  8. C.4.18.800 - REDUNDANT
  9. C.4.18.900 - REDUNDANT
  10. C.4.18.1000 - Data Quality realtime
  11. C.4.18.1100 - REDUNDANT
  12. C.4.18.1200 - REDUNDANT
  13. C.4.18.1300 - Data Quality DAG - Assign user rights twice else doesn’t work for me. In branch MX_v13.8.1
  14. C.4.18.1400 - Data Quality support user rights - Assign user rights twice else doesn’t work for me. In branch MX_v13.8.1

All scripts pass

Created: 8/16/2024 12:10:22 PM Edited on: 8/16/2024 12:10:22 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT
  5. C.4.18.500 - Data Quality disrepancies
  6. C.4.18.600 - Data Quality exclude rules
  7. C.4.18.700 - Data Quality edit rules
  8. C.4.18.800 - REDUNDANT
  9. C.4.18.900 - REDUNDANT
  10. C.4.18.1000 - Data Quality realtime
  11. C.4.18.1100 - REDUNDANT
  12. C.4.18.1200 - REDUNDANT
  13. C.4.18.1300 - Data Quality DAG
  14. C.4.18.1400 - Data Quality support user rights

All scripts pass

Created: 8/16/2024 12:02:27 PM Edited on: 8/16/2024 12:02:27 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT
  5. C.4.18.500 - Data Quality disrepancies
  6. C.4.18.600 - Data Quality exclude rules
  7. C.4.18.700 - Data Quality edit rules
  8. C.4.18.800 - REDUNDANT
  9. C.4.18.900 - REDUNDANT
  10. C.4.18.1000 - Data Quality realtime
  11. C.4.18.1100 - REDUNDANT
  12. C.4.18.1200 - REDUNDANT
  13. C.4.18.1300 - Data Quality DAG

Created: 8/16/2024 11:52:59 AM Edited on: 8/16/2024 11:52:59 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT
  5. C.4.18.500 - Data Quality disrepancies
  6. C.4.18.600 - Data Quality exclude rules
  7. C.4.18.700 - Data Quality edit rules
  8. C.4.18.800 - REDUNDANT
  9. C.4.18.900 - REDUNDANT
  10. C.4.18.1000 - Data Quality realtime
  11. C.4.18.1100 - REDUNDANT
  12. C.4.18.1200 - REDUNDANT

Created: 8/16/2024 11:51:51 AM Edited on: 8/16/2024 11:51:51 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT
  5. C.4.18.500 - Data Quality disrepancies
  6. C.4.18.600 - Data Quality exclude rules
  7. C.4.18.700 - Data Quality edit rules
  8. C.4.18.800 - REDUNDANT
  9. C.4.18.900 - REDUNDANT
  10. C.4.18.1000 - Data Quality realtime

Created: 8/16/2024 11:45:43 AM Edited on: 8/16/2024 11:45:43 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT
  5. C.4.18.500 - Data Quality disrepancies
  6. C.4.18.600 - Data Quality exclude rules
  7. C.4.18.700 - Data Quality edit rules
  8. C.4.18.800 - REDUNDANT
  9. C.4.18.900 - REDUNDANT

Created: 8/16/2024 10:18:15 AM Edited on: 8/16/2024 10:18:15 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT
  5. C.4.18.500 - Data Quality disrepancies
  6. C.4.18.600 - Data Quality exclude rules
  7. C.4.18.700 - Data Quality edit rules
  8. C.4.18.800 - REDUNDANT

Created: 8/16/2024 8:40:26 AM Edited on: 8/16/2024 8:40:26 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT
  5. C.4.18.500 - Data Quality disrepancies
  6. C.4.18.600 - Data Quality exclude rules

Created: 8/9/2024 2:41:38 PM Edited on: 8/9/2024 2:41:38 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT
  5. C.4.18.500 - Data Quality disrepancies

Created: 8/9/2024 1:50:49 PM Edited on: 8/9/2024 1:50:49 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT

Created: 8/9/2024 1:50:49 PM Edited on: 8/7/2024 7:56:43 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

C.4.18.100 - Data Quality default rules.feature - Removed non-default DQ rules - Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

Comment:

Author: MintooXavier Updated on: 8/16/2024 11:47:05 AM

Comment body:

C.4.18.100 - Data Quality default rules.feature

C.4.18.600 - Data Quality exclude rules

Comment edits:

Created: 8/16/2024 11:47:05 AM Edited on: 8/16/2024 11:47:05 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

C.4.18.100 - Data Quality default rules.feature

  • Removed non-default DQ rules
  • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

C.4.18.600 - Data Quality exclude rules

  • Added a step to verify clear discrepancies displays Execute in the table for script C.4.18.900 - REDUNDANT
  • Added a step to verify exclusion not displayed
  • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

Created: 8/16/2024 10:48:10 AM Edited on: 8/16/2024 10:48:10 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

C.4.18.100 - Data Quality default rules.feature

  • Removed non-default DQ rules
  • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

C.4.18.600 - Data Quality exclude rules

  • Added a step to verify clear discrepancies displays Execute in the table
  • Added a step to verify exclusion not displayed
  • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

Created: 8/16/2024 9:00:26 AM Edited on: 8/16/2024 9:00:26 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

C.4.18.100 - Data Quality default rules.feature

  • Removed non-default DQ rules
  • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

C.4.18.600 - Data Quality exclude rules

  • Added a step to verify clear discrepencies displays Execute in the table
  • Added a step to verify exclusion not displayed
  • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

Created: 8/16/2024 8:41:13 AM Edited on: 8/16/2024 8:41:13 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

C.4.18.100 - Data Quality default rules.feature

  • Removed non-default DQ rules
  • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

C.4.18.600 - Data Quality exclude rules

  • Added a step to verify exclusion not displayed
  • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

Created: 8/16/2024 8:41:13 AM Edited on: 8/9/2024 12:50:34 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

C.4.18.100 - Data Quality default rules.feature

  • Removed non-default DQ rules
  • Script modified and pushed to MX_v13.1.37 and MX_v13.8.1

Timeline events:

LABELLED | User: MintooXavier Created on: 6/21/2024 1:24:16 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 6/21/2024 1:24:16 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 6/21/2024 1:24:16 PM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 6/21/2024 1:25:18 PM Issue comment body:
  1. C.4.18.1100 - The system shall support validating the unique event name used in custom rules for longitudinal projects.
    Script says ‘This feature test is REDUNDANT and can be viewed in C.4.18.200.100’ but it is not tested in it. I enquired about this and Theresa Baker modified the script C.4.18.200.100 to add event name but this is in v 14.3.4

C.4.18.200 - Data Quality create rules.feature

Emailed REDCap Team - Theresa Baker and Adam De Fouw regarding the above script:

  1. C.4.18.700 – Data Quality edit rules

Modified both the scripts and pushed to MX_v13.1.37

LABELLED | User: MintooXavier Created on: 6/25/2024 12:40:57 PM Label name: Question Label description: Further information is requested

ASSIGNED | User: MintooXavier Created on: 7/2/2024 10:16:21 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 7/29/2024 1:48:54 PM Issue comment body:

ATS team accepted the changes

UNLABELLED | User: MintooXavier Created on: 7/29/2024 1:55:59 PM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 8/7/2024 7:56:43 AM Issue comment body:

Scripts Pre-reviewed:

  1. C.4.18.100 - Data Quality default rules
  2. C.4.18.200 - Data Quality create rules
  3. C.4.18.300 - Data Quality execute rules
  4. C.4.18.400 - REDUNDANT
  5. C.4.18.500 - Data Quality disrepancies
  6. C.4.18.600 - Data Quality exclude rules
  7. C.4.18.700 - Data Quality edit rules
  8. C.4.18.800 - REDUNDANT
  9. C.4.18.900 - REDUNDANT
  10. C.4.18.1000 - Data Quality realtime
  11. C.4.18.1100 - REDUNDANT
  12. C.4.18.1200 - REDUNDANT
  13. C.4.18.1300 - Data Quality DAG - Assign user rights twice else doesn’t work for me. In branch MX_v13.8.1
  14. C.4.18.1400 - Data Quality support user rights - Assign user rights twice else doesn’t work for me. In branch MX_v13.8.1

All scripts pass

LABELLED | User: MintooXavier Created on: 8/7/2024 8:00:10 AM Label name: Question Label description: Further information is requested

ISSUE COMMENT | User: MintooXavier Created on: 8/9/2024 12:50:34 PM Issue comment body:

C.4.18.100 - Data Quality default rules.feature

C.4.18.600 - Data Quality exclude rules


————— feature ends —————



Feature: 16. Data Import

Id: I_kwDOIaOBn86RKzOW Uid: redcap_cypress-74
Author: MintooXavier Created: 7/29/2024 2:04:51 PM
Assignees: MintooXavier Resource path: /CCTC-team/redcap_cypress/issues/74
Milestone: |none| Labels: Question || Core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:52:20 PM
Locked: false Participants: MintooXavier

Project item body:

Brief description:
This feature is used to test the data import feature in REDCap.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/16_data_import.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.100%20-%20Import%20Templates%20-%20Columns%20%26%20Rows.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.200%20-%20Create%20%26%20Modify%20Records.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.400%20-%20Field%20Validation.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.500%20-%20Choices%20for%20Radios%2C%20Dropdowns%2C%20Checkboxes.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.600%20-%20Survey%20Data%20Import.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.700%20-%20Longitudinal%20Data%20Import.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.800%20-%20Repeat%20Instrument%20Import.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.900%20-%20Import%20Restrictions.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.1000%20-%20Access%20Restrictions.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.1200%20-%20Overwrite%20Existing%20Data.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.1300%20-%20Data%20Import%20-%20DAGs.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/16_data_import.spec

B.3.16.100 - User Interface: The system shall support the ability to download two versions of a data import template formatted as a CSV file, one to accommodate records in rows and one to accommodate records in columns.
B.3.16.200 - User Interface: The system shall allow data to be uploaded with the csv template to create and modify records.
B.3.16.300 - User Interface: The system shall highlight data modifications for user confirmation.
B.3.16.400 - User Interface: The system shall import only valid formats for text fields with validation.
B.3.16.500 - User Interface: The system shall import only valid choice codes for radio buttons, dropdowns, and checkboxes.
B.3.16.600 - User Interface: The system shall ignore survey identifier and timestamp fields on all data import spreadsheets and allow all other data to be imported.
B.3.16.700 - User Interface: The system shall require the event name in the csv file when importing data to a longitudinal study.
B.3.16.800 - User Interface: The system shall require the repeating instrument and instance number in the csv file when importing data to a repeating event project.
B.3.16.900 - User Interface: The system shall not allow data to be changed on locked data entry forms.
B.3.16.1000 - User Interface: The system shall not allow a new record to be imported if user does not have Create Records access.
B.3.16.1200 - User Interface: The system shall provide the option to allow blank values to overwrite existing saved values.
B.3.16.1300 - User Interface: The system shall provide the ability to assign data instruments to a data access group with the Data Import Tool.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.100%20-%20Import%20Templates%20-%20Columns%20%26%20Rows.feature

Feature: User Interface: The system shall support the ability to download two versions of a data import template formatted as a CSV file, one to accommodate records in rows and one to accommodate records in columns.

As a REDCap end user I want to see that Data import is functioning as expected

Scenario: B.3.16.100.100 data import template

Given I login to REDCap with the user "Test_Admin"
And I create a new project named "B.3.16.100.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.16.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#FUNCTIONAL REQUIREMENT
##ACTION Data Import Template (with records in rows)
When I click on the link labeled "Data Import Tool"
## Script works for v13.1.37 but needs to be modified for 13.8.1 as the view of the page has been modified. Commented out the step below and modified the next one
# Then I should see "Download your Data Import Template (with records in rows)"
And I click on the link labeled "Download your Data Import Template"
Then I should see a downloaded file named "B316100100_ImportTemplate_yyyy-mm-dd.csv"

##VERIFY
And the downloaded CSV with filename "B316100100_ImportTemplate_yyyy-mm-dd.csv" has the header below
  | record_id | name | email | text_validation_complete | ptname | bdate | role | notesbox | multiple_dropdown_auto | multiple_dropdown_manual | multiple_radio_auto | radio_button_manual | checkbox___1 | checkbox___2 | checkbox___3 | required | identifier_ssn | identifier_phone | slider | date_time_hh_mm | date_time_hh_mm_ss | data_types_complete | data_dictionary_form_complete | phone | demo_branching_complete |  |
#M: close csv file

#FUNCTIONAL REQUIREMENT
##ACTION Data Import Template (with records in columns)
Given I click on the link labeled "Data Import Tool"

## Script works for v13.1.37 but needs to be modified for 13.8.1 as the view of the page has been modified. Commented out the step below and modified the next one
# Then I should see "Download your Data Import Template (with records in columns)"
And I click on the link labeled "column format"
Then I should see a downloaded file named "B316100100_ImportTemplate_yyyy-mm-dd.csv"
#M: close csv file

##VERIFY
And the downloaded CSV with filename "B316100100_ImportTemplate_yyyy-mm-dd.csv" has the header and rows below
  | Variable / Field Name         | Record |
  | record_id                     |        |
  | name                          |        |
  | email                         |        |
  | text_validation_complete      |        |
  | ptname                        |        |
  | bdate                         |        |
  | role                          |        |
  | notesbox                      |        |
  | multiple_dropdown_auto        |        |
  | multiple_dropdown_manual      |        |
  | multiple_radio_auto           |        |
  | radio_button_manual           |        |
  | checkbox___1                  |        |
  | checkbox___2                  |        |
  | checkbox___3                  |        |
  | required                      |        |
  | identifier_ssn                |        |
  | identifier_phone              |        |
  | slider                        |        |
  | date_time_hh_mm               |        |
  | date_time_hh_mm_ss            |        |
  | data_types_complete           |        |
  | data_dictionary_form_complete |        |
  | phone                         |        |
  | demo_branching_complete       |        |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.200%20-%20Create%20%26%20Modify%20Records.feature

Feature: User Interface: The system shall allow data to be uploaded with the csv template to create and modify records.

Scenario: B.3.16.200.100 Upload csv with new/modified records #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.3.16.200.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_3.16.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

When I click on the link labeled "Data Import Tool"
Then I should see the dropdown field labeled "Records in file are formatted as" with the option "Rows" selected

#FUNCTIONAL REQUIREMENT
##ACTION - Cancel import
#B.3.16.100 CROSSFUNCTIONAL
## Script works for v13.1.37 but needs to be modified for 13.8.1 as the view of the page has been modified. Modified the step below
When I upload a "csv" format file located at "import_files/B316200100_ImportTemplate_ImportRecord.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and is ready for review"
And I click on the link labeled "Cancel"

#VERIFY_RSD: no records imported
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should NOT see "Create record"

#FUNCTIONAL REQUIREMENT
##ACTION - Import (with records in rows)
Given I click on the link labeled "Data Import Tool"
## Script works for v13.1.37 but needs to be modified for 13.8.1 as the view of the page has been modified. Modified the step below
When I upload a "csv" format file located at "import_files/B316200100_ImportTemplate_ImportRecord.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and is ready for review"

When I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_RSD: 1 record
When I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled exactly "1"
When I click on the bubble for the "Text Validation" data collection instrument for record ID "1" 
Then  I should see "Joe" in the data entry form field "Name" 
Then  I should see "joe@test.edu" in the data entry form field "Email" 

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                   | List of Data Changes OR Fields Exported              |
  | test_admin | Create record (import) 1 |record_id = '1', name = 'Joe', email = 'joe@test.edu' |

#FUNCTIONAL REQUIREMENT
##ACTION - Import (with records in columns) and check modiying records
When I click on the link labeled "Data Import Tool"
And I select "Columns" on the dropdown field labeled "Record format"    
## Script works for v13.1.37 but needs to be modified for 13.8.1 as the view of the page has been modified. Modified the step below
When I upload a "csv" format file located at "import_files/B316200100_ImportTemplate_ImportRecord_Column.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and is ready for review"
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_RSD: 2 records
When I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled exactly "2"
When I click on the bubble for the "Text Validation" data collection instrument for record ID "1" 
Then  I should see "Jack" in the data entry form field "Name" 
Then  I should see "jack@test.edu" in the data entry form field "Email" 

When I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled exactly "2"
When I click on the bubble for the "Text Validation" data collection instrument for record ID "2" 
Then  I should see "Jill" in the data entry form field "Name" 
Then  I should see "jill@test.edu" in the data entry form field "Email" 

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                   | List of Data Changes OR Fields Exported                 |
  | test_admin | Create record (import) 2 | record_id = '2', name = 'Jill', email = 'jill@test.edu' |
  | test_admin | Update record (import) 1 | name = 'Jack', email = 'jack@test.edu'                  |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.300%20-%20REDUNDANT.feature

Feature: REDUNDANT

This feature test is REDUNDANT and can be viewed in B.3.16.600.

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.400%20-%20Field%20Validation.feature

Feature: User Interface: The system shall import only valid formats for text fields with validation.

As a REDCap end user I want to see that Data import is functioning as expected

Scenario: B.3.16.400.100 Import valid formats for text fields #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.3.16.400.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_3.16.xml”, and clicking the “Create Project” button

#SETUP_PRODUCTION
When I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I see Project status: "Production"

#VERIFY_RSD: no records exist
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

#FUNCTIONAL_REQUIREMENT
##ACTION
Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/B.3.16.400_DataImport_Rows.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and is ready for review"
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_RSD: 3 records
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 100       |
  | 200       |
  | 300       |

#VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | record_id | email            | bdate      | multiple_radio_auto |
  | 300       | paul@noreply.edu | 07-07-1940   |   Choice.3 (3)          |  

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action                 | List of Data Changes OR Fields Exported |
  | test_admin | Create record (import) | record_id = '100'                       |
  | test_admin | Create record (import) | record_id = '200'                       |
  | test_admin | Create record (import) | record_id = '300'                       |

#FUNCTIONAL_REQUIREMENT
##ACTION
When I click on the link labeled "Data Import Tool"
And I select "Yes, blank values in the file will overwrite existing values" on the dropdown field labeled "Overwrite data with blank values?"
And I click on the button labeled "Yes, I understand" in the dialog box
And I upload a "csv" format file located at "import_files/B.3.16.400_DataImport_Rows Bad.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Errors were detected in the import file that prevented it from being loaded."
And I should see a table header and rows containing the following values in a table:
  | Record | Field Name          | Value         |
  | 300    | email               | ringo@noreply |
  | 300    | bdate               | 0007-40-07    |
  | 300    | multiple_radio_auto | 99            |

#VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | record_id | email            | bdate      | multiple_radio_auto |
  | 300       | paul@noreply.edu | 07-07-1940   |   Choice.3 (3)          |  

#FUNCTIONAL_REQUIREMENT
##ACTION: Corrected format
# Change the value of bdate in csv file (import_files/B.3.16.400_DataImport_Rows Corrected.csv) as DB already contains the value of 07-07-1940
When I click on the link labeled "Data Import Tool"
And I select "Yes, blank values in the file will overwrite existing values" on the dropdown field labeled "Overwrite data with blank values?"
And I click on the button labeled "Yes, I understand" in the dialog box
And I upload a "csv" format file located at "import_files/B.3.16.400_DataImport_Rows Corrected.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see a table header and rows containing the following values in a table:
  | record_id | email             | bdate      | multiple_radio_auto |
  | 300       | ringo@noreply.edu | 1940-07-08 | 2                   |

When I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | record_id | email             | bdate      | multiple_radio_auto |
  | 300       | ringo@noreply.edu | 08-07-1940  |   Choice2 (2)       |  

##VERIFY_LOG
#verify import log
When I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Username   | Action | List of Data Changes OR Fields Exported |
  | test_admin | 300    | email = 'ringo@noreply.edu'             |
  | test_admin | 300    | bdate = '1940-07-08'                    |
  | test_admin | 300    | multiple_radio_auto = '2'               |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.500%20-%20Choices%20for%20Radios%2C%20Dropdowns%2C%20Checkboxes.feature

Feature: User Interface: The system shall import only valid choice codes for radio buttons, dropdowns, and checkboxes.

As a REDCap end user I want to see that Data import is functioning as expected

Scenario: B.3.16.500.100 Import valid choice codes fields

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I create a new project named "B.3.16.500.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.16.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I see Project status: "Production"

When I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/B.3.16.500_DataImport_Rows.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and is ready for review"

When I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | record_id | multiple_dropdown_auto   | multiple_dropdown_manual | multiple_radio_auto | radio_button_manual | checkbox___1 |
  | 300       | DDChoice1 (1)              | DDChoice6 (7)            | Choice.3 (3)          | Choice100 (100)     | Checked (1)    |

#FUNCTIONAL_REQUIREMENT
##ACTION:  incorrect format
When I click on the link labeled "Data Import Tool"
When I upload a "csv" format file located at "import_files/B.3.16.500_DataImport_Rows Bad.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Errors were detected in the import file that prevented it from being loaded"

And I should see a table header and rows containing the following values in a table:
  | Record | Field Name               | Value |
  | 300    | multiple_dropdown_auto   | 99    |
  | 300    | multiple_dropdown_manual | 99    |
  | 300    | multiple_radio_auto      | 99    |
  | 300    | radio_button_manual      | 222   |
  | 300    | checkbox___1             | 99    |

#VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | record_id | multiple_dropdown_auto   | multiple_dropdown_manual | multiple_radio_auto | radio_button_manual | checkbox___1 |
  | 300       | DDChoice1 (1)              | DDChoice6 (7)            | Choice.3 (3)          | Choice100 (100)     | Checked (1)    |

#FUNCTIONAL_REQUIREMENT
##ACTION:  corrected format
When I click on the link labeled "Data Import Tool"
When I upload a "csv" format file located at "import_files/B.3.16.500_DataImport_Rows Corrected.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see a table header and rows containing the following values in a table:
  | record_id | multiple_dropdown_auto | multiple_dropdown_manual | multiple_radio_auto | radio_button_manual | checkbox___1 |
  | 300       | 3                      | 5                        | 2                   | 101                 | 0            |

When I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | record_id | multiple_dropdown_auto   | multiple_dropdown_manual | multiple_radio_auto | radio_button_manual | checkbox___1  |
  | 300       | DDChoice3 (3)              | DDChoice5 (5)            | Choice2 (2)         | Choice101 (101)     | Unchecked (0) |

#VERIFY_LOG
When I click on the link labeled "Logging"
Then I should see table header and rows containing the following values in the logging table:
  | Username   | Action                 | List of Data Changes OR Fields Exported |
  | test_admin | Update record (import) | multiple_dropdown_auto = '3'            |
  | test_admin | Update record (import) | multiple_dropdown_manual = '5'          |
  | test_admin | Update record (import) | multiple_radio_auto = '2'               |
  | test_admin | Update record (import) | radio_button_manual = '101'             |
  | test_admin | Update record (import) | checkbox(1) = unchecked                 |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.600%20-%20Survey%20Data%20Import.feature

Feature: User Interface: The system shall ignore survey identifier and timestamp fields on all data import spreadsheets and allow all other data to be imported.

As a REDCap end user I want to see that Data import is functioning as expected

Scenario: B.3.16.600.100 Import ignores survey identifier and timestamp fields

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I create a new project named "B.3.16.600.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "B.3.16.600Project.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

###VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the "View Report" button in the row labeled "All data (all records and fields)"
Then I should see "All data (all records and fields)"
Given I should see a table header and rows containing the following values in the report data table:
  | record_id | redcap_survey_identifier | data_types_timestamp | ptname    |
  | 4         |                          |                      | My Name   |
  | 5         |                          |                      | Your Name |
  | 6         |                          |                      | That name |

When I click on the link labeled "Data Import Tool"
Given I upload a "csv" format file located at "import_files/B.3.16.600_DataImport.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "DATA DISPLAY TABLE"
And I should see a table header and rows containing the following values in the import data display table:
  | record_id | redcap_survey_identifier | data_types_timestamp | ptname    |
  | 4         | Joe                      | 8/18/23 12:53        | My Name   |
  | 5         | Jane                     | 8/18/23 12:54        | Your Name |
  | 6         | John                     | 8/18/23 12:54        | That name |

Given I click on the button labeled "Import Data"
Then I should see "Import Successful!"

###VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the "View Report" button in the row labeled "All data (all records and fields)"
Then I should see "All data (all records and fields)"
Given I should see a table header and rows containing the following values in the report data table:
  | record_id | redcap_survey_identifier | data_types_timestamp | ptname    |
  | 4         |                          |                      | My Name   |
  | 5         |                          |                      | Your Name |
  | 6         |                          |                      | That name |

#Manual: new records were imported and survey timestamp fields and identifier fields are ignored

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.700%20-%20Longitudinal%20Data%20Import.feature

Feature: User Interface: The system shall require the event name in the csv file when importing data to a longitudinal study.

As a REDCap end user I want to see that Data import is functioning as expected

Scenario: B.3.16.700.100 Import requires the event name

Given I login to REDCap with the user "Test_Admin"
And I create a new project named "B.3.16.700.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
# Delete the data as it is easier to verify data import
And I click on the radio labeled "Delete ALL data in the project" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

#VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

#FUNCTIONAL REQUIREMENT
##ACTION
When I click on the link labeled "Data Import Tool"
And I click on the tab labeled "CSV import"
When I upload a "csv" format file located at "import_files/B316700100_DATA_INACCURATE.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "ERROR:"
And I click on the link labeled "RETURN TO PREVIOUS PAGE"

#VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

When I click on the link labeled "Data Import Tool"
And I click on the tab labeled "CSV import"
When I upload a "csv" format file located at "import_files/B316700100_DATA_ACCURATE.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled "5"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.800%20-%20Repeat%20Instrument%20Import.feature

Feature: User Interface: The system shall require the repeating instrument and instance number in the csv file when importing data to a repeating event project.

As a REDCap end user I want to see that Data import is functioning as expected

Scenario: B.3.16.800.100 Import requires the repeating instrument and instance number #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.3.16.800.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_1.xml”, and clicking the “Create Project” button

#SETUP_PROJECTSETUP
When I click on the link labeled "Project Setup"
When I click on the button labeled "Modify" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section
And I select "-- not repeating --" on the dropdown field labeled "Event 1 (Arm 1: Arm 1)"
And I select "-- not repeating --" on the dropdown field labeled "Event 2 (Arm 1: Arm 1)"
And I click on the button labeled "Save"
Then I should see a dialog containing the following text: "Your settings for repeating instruments and/or events have been successfully saved."
And I click on the button labeled "Close" in the dialog box

#SETUP_PRODUCTION
When I click on the button labeled "Move project to production"
And I click on the radio labeled "Delete ALL data in the project" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
    #M: Will have to accept confirmation window "And I click on the button labeled "Ok" in the pop-up box"
Then I see Project status: "Production"

#VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

#FUNCTIONAL REQUIREMENT
##ACTION: Error during import
When I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/B316800100_W_REPEATS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
    
##VERIFY
Then I should see "ERROR:"
And I click on the link labeled "RETURN TO PREVIOUS PAGE"

#VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

#SETUP_PROJECTSETUP
When I click on the link labeled "Project Setup"
When I click on the button labeled "Enable" in the "Repeating instruments and events" row in the "Enable optional modules and customizations" section
And I select "Repeat Instruments (repeat independently of each other)" on the dropdown field labeled "Event 1 (Arm 1: Arm 1)"
And for the Event Name "Event 1 (Arm 1: Arm 1)", I check the checkbox labeled "Text Validation" in the dialog box
And for the Event Name "Event 1 (Arm 1: Arm 1)", I check the checkbox labeled "Data Types" in the dialog box
And I click on the button labeled "Save" on the dialog box for the Repeatable Instruments and Events module

#FUNCTIONAL REQUIREMENT
##ACTION: import without repeat instrument
When I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/B316800100_WOUT_REPEATS.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file

##VERIFY
Then I should see "ERROR:"

#VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see "No records exist yet"

#FUNCTIONAL REQUIREMENT ##ACTION: import with repeat instrument When I click on the link labeled “Data Import Tool” When I upload a “csv” format file located at “import_files/B316800100_W_REPEATS.csv”, by clicking the button near “Select your CSV data file” to browse for the file, and clicking the button labeled “Upload File” to upload the file

##VERIFY
Then I should see "Your document was uploaded successfully"

When I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_RSD
When I click on the link labeled "Record Status Dashboard"
Then I should see a link labeled "4"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.900%20-%20Import%20Restrictions.feature

Feature: User Interface: The system shall not allow data to be changed on locked data entry forms.

As a REDCap end user I want to see that Data import is functioning as expected

Scenario: B.3.16.900.100 Limit import to unlocked record forms

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I create a new project named "B.3.16.900.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_3.16.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

##ACTION: Import data
When I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/B.3.16.900.100_ImportChangedUnlocked.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see a table header and rows containing the following values in a table:
  | record_id | name |
  | 1         | Name |

When I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_RECORD
When I click on the link labeled "Record Status Dashboard"
And I click on the bubble for the "Text Validation" data collection instrument for record ID "1"
Then  I should see "Name" in the data entry form field "Name"

#FUNCTIONAL_REQUIREMENT
##ACTION: lock record 1
When I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "1"
#And I select the dropdown option labeled "Lock entire record" for the dropdown field labeled "Choose action for record"
When I click on the span element labeled "Choose action for record"
And I click on the link labeled "Lock entire record"
And I click on the button labeled "Lock entire record" on the dialog box
Then I should see a dialog containing the following text: 'Record "1" is now LOCKED'
And I click on the button labeled "OK" in the dialog box

#VERIFY_DI
When I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/B.3.16.900.100_ImportChangedLocked.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see a table header and rows containing the following values in a table:
  | Record | Field Name               | Error Message                                                                                 |
  | 1      | text_validation_complete | This record has been locked at the record level. No value within this record can be modified. |

#VERIFY_RECORD
When I click on the link labeled "Record Status Dashboard"
And I click on the bubble for the "Text Validation" data collection instrument for record ID "1" 
Then  I should see "Name" in the data entry form field "Name"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.1000%20-%20Access%20Restrictions.feature

Feature: User Interface: The system shall not allow a new record to be imported if user does not have Create Records access.

As a REDCap end user I want to see that Data import is functioning as expected

Scenario: B.3.16.1000.100 Data import of new record limited by user rights

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I create a new project named "B.3.16.1000.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I see Project status: "Production"

#USER_RIGHTS
When I click on the link labeled "User Rights"
And I enter "Test_User3" into the field with the placeholder text of "Add new user"
And I click on the button labeled "Add with custom rights"
Then I should see a dialog containing the following text: "Adding new user"

When I check the User Right named "Data Import Tool"
And I uncheck the User Right named "Create Records"
And I click on the button labeled "Add user" in the dialog box
Then I should see a table header and rows containing the following values in a table:
  | Role name | Username   |
  | —         | test_user3 |

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
Then I should NOT see a link labeled "5"
And I logout

#FUNCTIONAL_REQUIREMENT
Given I login to REDCap with the user "Test_User3"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.3.16.1000.100"
When I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/B.3.16.1000_New Record.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "ERROR:"
And I should see "Your user privileges do NOT allow you to create new records."

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
Then I should NOT see a link labeled "5"
And I logout

Given I login to REDCap with the user "Test_Admin"
When I click on the link labeled "My Projects"
And I click on the link labeled "B.3.16.1000.100"
And I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/B.3.16.1000_New Record.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see a table header and rows containing the following values in a table:
  | record_id    | email          |
  | (new record) | email@test.edu |

When I click on the button labeled "Import Data"
Then I should see "Import Successful!"

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
Then I should see a table header and rows containing the following values in the record status dashboard table:
  | Record ID |
  | 5         |

##VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
Then I should see a table row containing the following values in the reports table:
  | A | All data (all records and fields) |

When I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | Record ID | Email          |
  | 5         | email@test.edu |

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.1200%20-%20Overwrite%20Existing%20Data.feature

Feature: User Interface: The system shall provide the option to allow blank values to overwrite existing saved values.

As a REDCap end user I want to see that Data import is functioning as expected

Scenario: B.3.16.1200.100 Data import overwrite existing values with blank

#SETUP
Given I login to REDCap with the user "Test_Admin"
And I create a new project named "B.3.16.1200.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "Project_1.xml", and clicking the "Create Project" button

#SETUP_PRODUCTION
When I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
#M: Will have to accept confirmation window "And I click on the button labeled "Ok" in the pop-up box"
Then I see Project status: "Production"

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "4" and click on the bubble
Then I should see "Name" in the data entry form field "Name" 
And I should see "email@test.edu" in the data entry form field "Email" 
#Need to save the form for 'ignore blank values in the file' to work
And I click on the button labeled "Save & Exit Form"

#FUNCTIONAL REQUIREMENT
##ACTION: Import new data, ignoring blank values
When I click on the link labeled "Data Import Tool"
And I select "No, ignore blank values in the file" on the dropdown field labeled "Overwrite data with blank values?"
And I upload a "csv" format file located at "import_files/B3161200100_ACCURATE.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file

##VERIFY
Then I should see "Your document was uploaded successfully"
When I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "4" and click on the bubble
Then I should see "New Name" in the data entry form field "Name" 
And I should see "email@test.edu" in the data entry form field "Email" 
And I click on the button labeled "Cancel"

#FUNCTIONAL REQUIREMENT
##ACTION: Import new data, overwrite blank values
When I click on the link labeled "Data Import Tool"
And I select "Yes, blank values in the file will overwrite existing values" on the dropdown field labeled "Overwrite data with blank values?"
And I click on the button labeled "Yes, I understand"
And I upload a "csv" format file located at "import_files/B3161200100_ACCURATE.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file

##VERIFY
Then I should see "Your document was uploaded successfully"
When I click on the button labeled "Import Data"
Then I should see "Import Successful!"

##VERIFY_RSD:
When I click on the link labeled "Record Status Dashboard"
And I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "4" and click on the bubble
Then I should see "New Name" in the data entry form field "Name"
And I should see "" in the data entry form field "Email"

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/B/Data%20Import_16/B.3.16.1300%20-%20Data%20Import%20-%20DAGs.feature

Feature: User Interface: The system shall provide the ability to assign data instruments to a data access group with the Data Import Tool.

As a REDCap end user I want to see that Data import is functioning as expected

Scenario: B.3.16.1300.100 Data import assigns DAG #SETUP Given I login to REDCap with the user “Test_Admin” And I create a new project named “B.3.16.1300.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_3.16.xml”, and clicking the “Create Project” button

When I click on the link labeled "DAGs"
And I enter "Test_Group1" into the field with the placeholder text of "Enter new group name"
And I click on the button labeled "Add Group"
Then I should see 'Data Access Group "Test_Group1" has been created!'

When I click on the link labeled "User Rights"
And I enter "Test_User1" into the input field labeled "Add with custom rights"
And I click on the button labeled "Add with custom rights"
Then I should see a dialog containing the following text: "Adding new user"

Given I check the User Right named "Data Import Tool"
And I select "Test_Group1" in the dropdown field labeled "Assign user to a Data Access Group" in the dialog box
And I click on the button labeled "Add user" in the dialog box
Then I should see a table header and rows containing the following values in a table:
  | Role | Username or users assigned to a role | Expiration | Data Access Group |
  |      | test_admin                           |            | —                 |
  |      | test_user1                           |            | Test_Group1       |

#SETUP_PRODUCTION
Given I click on the link labeled "Project Setup"
And I click on the button labeled "Move project to production"
And I click on the radio labeled "Keep ALL data saved so far" in the dialog box
And I click on the button labeled "YES, Move to Production Status" in the dialog box to request a change in project status
Then I should see Project status: "Production"

Given I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/B.3.16.1300_DataImport_Rows.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "Your document was uploaded successfully and is ready for review"

When I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | record_id | redcap_data_access_group | name   |
  | 100       |                          | Rob    |
  | 200       |                          | Brenda |
  | 300       |                          | Paul   |
And I logout

Given I login to REDCap with the user "Test_User1"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.3.16.1300.100"
And I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/B.3.16.1300_DataImport_Dag.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "ERROR: Illegal use of 'redcap_data_access_group' field!"

#VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "View Report"
Then I should see "No results were returned"
And I logout

Given I login to REDCap with the user "Test_Admin"
And I click on the link labeled "My Projects"
And I click on the link labeled "B.3.16.1300.100"
And I click on the link labeled "Data Import Tool"
# Verify wrong DAG names cannot be imported
And I upload a "csv" format file located at "import_files/B.3.16.1300_DataImport_Dag_Bad.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see "ERROR:"
Then I should see "The following Data Access Group are invalid for the redcap_data_access_group field: testgroupno"

#VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | record_id | redcap_data_access_group | name   |
  | 100       |                          | Rob    |
  | 200       |                          | Brenda |
  | 300       |                          | Paul   |

And I click on the link labeled "Data Import Tool"
And I upload a "csv" format file located at "import_files/B.3.16.1300_DataImport_Dag.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
Then I should see a table header and rows containing the following values in a table:
  | record_id | redcap_data_access_group | name   |
  | 100       | test_group1              | Rob    |
  | 200       | test_group1              | Brenda |
  | 300       | test_group1              | Paul   |
And I click on the button labeled "Import Data"
Then I should see "Import Successful!"

#VERIFY_DE
When I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the button labeled "View Report"
Then I should see a table header and rows containing the following values in the report data table:
  | record_id | redcap_data_access_group | name   |
  | 100       | Test_Group1              | Rob    |
  | 200       | Test_Group1              | Brenda |
  | 300       | Test_Group1              | Paul   |

Comments:

Comment:

Author: MintooXavier Updated on: 9/24/2024 2:55:18 PM

Comment body:

Scripts Pre-reviewed:

  1. B.3.16.100 - Import Templates - Columns & Rows
  2. B.3.16.200 - Create & Modify Records.feature
  3. B.3.16.300 - REDUNDANT
  4. B.3.16.400 - Field Validation.feature
  5. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes
  6. B.3.16.600 - Survey Data Import
  7. B.3.16.700 - Longitudinal Data Import - verify data before and after import
  8. B.3.16.800 - Repeat Instrument Import - verify data before and after import
  9. B.3.16.900 - Import Restrictions
  10. B.3.16.1000 - Access Restrictions
  11. B.3.16.1200 - Overwrite Existing Data.feature
  12. B.3.16.1300 - Data Import - DAGs

Comment edits:

Created: 9/24/2024 2:55:18 PM Edited on: 9/24/2024 2:55:18 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.16.100 - Import Templates - Columns & Rows
  2. B.3.16.200 - Create & Modify Records.feature
  3. B.3.16.300 - REDUNDANT
  4. B.3.16.400 - Field Validation.feature
  5. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes
  6. B.3.16.600 - Survey Data Import
  7. B.3.16.700 - Longitudinal Data Import - verify data before and after import
  8. B.3.16.800 - Repeat Instrument Import - verify data before and after import
  9. B.3.16.900 - Import Restrictions
  10. B.3.16.1000 - Access Restrictions
  11. B.3.16.1200 - Overwrite Existing Data.feature
  12. B.3.16.1300 - Data Import - DAGs

Created: 9/24/2024 2:43:16 PM Edited on: 9/24/2024 2:43:16 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.16.100 - Import Templates - Columns & Rows
  2. B.3.16.200 - Create & Modify Records.feature
  3. B.3.16.300 - REDUNDANT
  4. B.3.16.400 - Field Validation.feature
  5. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes
  6. B.3.16.600 - Survey Data Import
  7. B.3.16.700 - Longitudinal Data Import
  8. B.3.16.800 - Repeat Instrument Import
  9. B.3.16.900 - Import Restrictions
  10. B.3.16.1000 - Access Restrictions
  11. B.3.16.1200 - Overwrite Existing Data.feature
  12. B.3.16.1300 - Data Import - DAGs

Created: 9/24/2024 10:35:18 AM Edited on: 9/24/2024 10:35:18 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.16.100 - Import Templates - Columns & Rows
  2. B.3.16.200 - Create & Modify Records.feature
  3. B.3.16.300 - REDUNDANT
  4. B.3.16.400 - Field Validation.feature
  5. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes
  6. B.3.16.600 - Survey Data Import
  7. B.3.16.700 - Longitudinal Data Import
  8. B.3.16.800 - Repeat Instrument Import
  9. B.3.16.900 - Import Restrictions
  10. B.3.16.1000 - Access Restrictions

Created: 9/23/2024 10:41:41 AM Edited on: 9/23/2024 10:41:41 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.16.100 - Import Templates - Columns & Rows
  2. B.3.16.200 - Create & Modify Records.feature
  3. B.3.16.400 - Field Validation.feature

Created: 9/23/2024 10:41:41 AM Edited on: 8/23/2024 2:59:27 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Pre-reviewed:

  1. B.3.16.100 - Import Templates - Columns & Rows

Comment:

Author: MintooXavier Updated on: 10/9/2024 9:35:00 AM

Comment body:
  1. B.3.16.100 - Import Templates - Columns & Rows
  1. B.3.16.200 - Create & Modify Records.feature
  1. B.3.16.1300 - Data Import - DAGs
  1. B.3.16.400 - Field Validation.feature
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  1. B.3.16.600 - Survey Data Import.feature
  1. B.3.16.700 - Longitudinal Data Import.feature
  1. B.3.16.800 - Repeat Instrument Import.feature
  1. B.3.16.900 - Import Restrictions.feature
  1. B.3.16.1000 - Access Restrictions.feature
  1. B.3.16.1200 - Overwrite Existing Data

Comment edits:

Created: 10/9/2024 9:35:00 AM Edited on: 10/9/2024 9:35:00 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1300 - Data Import - DAGs
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Added steps to verify wrong DAG names cannot be imported. New CSV file created for this and pushed to redcap_val in redcap_cypress repo. Link: https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/cypress/fixtures/import_files/B.3.16.1300_DataImport_Dag_Bad.csv
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Change the value of bdate in csv file (import_files/B.3.16.400_DataImport_Rows Corrected.csv) as DB already contains the value of 07-07-1940. Changed CSV file is pushed to redcap_val branch in redcap_cypress repo. Link: https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/cypress/fixtures/import_files/B.3.16.400_DataImport_Rows%20Corrected.csv
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.600 - Survey Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.700 - Longitudinal Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Delete data while moving to Production as it is easier to verify data import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.800 - Repeat Instrument Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.900 - Import Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1000 - Access Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1200 - Overwrite Existing Data
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • This script was changed from the original script in Theresa’s repo (which is correct). I have changed it back else it won’t meet URS. Data verification is done from the instrument and not from report as it is easier.
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37

Created: 10/8/2024 8:35:25 AM Edited on: 10/8/2024 8:35:25 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Change the value of bdate in csv file (import_files/B.3.16.400_DataImport_Rows Corrected.csv) as DB already contains the value of 07-07-1940. Changed CSV file is pushed to redcap_val branch in redcap_cypress repo. Link: https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/cypress/fixtures/import_files/B.3.16.400_DataImport_Rows%20Corrected.csv
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.600 - Survey Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.700 - Longitudinal Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Delete data while moving to Production as it is easier to verify data import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.800 - Repeat Instrument Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.900 - Import Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1000 - Access Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1200 - Overwrite Existing Data
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • This script was changed from the original script in Theresa’s repo (which is correct). I have changed it back else it won’t meet URS. Data verification is done from the instrument and not from report as it is easier.
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1300 - Data Import - DAGs
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Added steps to verify wrong DAG names cannot be imported. New CSV file created for this and pushed to redcap_val in redcap_cypress repo. Link: https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/cypress/fixtures/import_files/B.3.16.1300_DataImport_Dag_Bad.csv
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37

Created: 10/7/2024 12:50:56 PM Edited on: 10/7/2024 12:50:56 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Change the value of bdate in csv file (import_files/B.3.16.400_DataImport_Rows Corrected.csv) as DB already contains the value of 07-07-1940
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.600 - Survey Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.700 - Longitudinal Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Delete data while moving to Production as it is easier to verify data import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.800 - Repeat Instrument Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.900 - Import Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1000 - Access Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1200 - Overwrite Existing Data
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • This script was changed from the original script in Theresa’s repo (which is correct). I have changed it back else it won’t meet URS. Data verification is done from the instrument and not from report as it is easier.
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1300 - Data Import - DAGs
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Added steps to verify wrong DAG names cannot be imported
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37

Created: 9/25/2024 1:14:27 PM Edited on: 9/25/2024 1:14:27 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Change the value of bdate in csv file (import_files/B.3.16.400_DataImport_Rows Corrected.csv) as DB already contains the value of 07-07-1940
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.600 - Survey Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.700 - Longitudinal Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Delete data while moving to Production as it is easier to verify data import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.800 - Repeat Instrument Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.900 - Import Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1000 - Access Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1000 - Access Restrictions
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1200 - Overwrite Existing Data
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • This script was changed from the original script in Theresa’s repo (which is correct). I have changed it back else it won’t meet URS. Data verification is done from the instrument and not from report as it is easier.
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1300 - Data Import - DAGs
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Added steps to verify wrong DAG names cannot be imported
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37

Created: 9/25/2024 12:11:59 PM Edited on: 9/25/2024 12:11:59 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Change the value of bdate in csv file (import_files/B.3.16.400_DataImport_Rows Corrected.csv) as DB already contains the value of 07-07-1940
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.600 - Survey Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before import
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.700 - Longitudinal Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Added steps to verify data before and after import
  • Delete data while moving to Production as it is easier to verify data import
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.800 - Repeat Instrument Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.900 - Import Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1000 - Access Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1000 - Access Restrictions
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1200 - Overwrite Existing Data
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • This script was changed from the original script in Theresa’s repo (which is correct). I have changed it back else it won’t meet URS. Data verification is done from the instrument and not from report as it is easier.
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1300 - Data Import - DAGs
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Added steps to verify wrong DAG names cannot be imported
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37

Created: 9/24/2024 2:54:42 PM Edited on: 9/24/2024 2:54:42 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.600 - Survey Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.700 - Longitudinal Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.800 - Repeat Instrument Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.900 - Import Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1000 - Access Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1000 - Access Restrictions
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1200 - Overwrite Existing Data
  • This script was changed from the original script in Theresa’s repo (which is correct). I have changed it back else it won’t meet URS. Data verification is done from the instrument and not from report as it is easier.
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1300 - Data Import - DAGs
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37

Created: 9/24/2024 12:44:33 PM Edited on: 9/24/2024 12:44:33 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.600 - Survey Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.700 - Longitudinal Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.800 - Repeat Instrument Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.900 - Import Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1000 - Access Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify data before and after import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37

Created: 9/24/2024 9:19:00 AM Edited on: 9/24/2024 9:19:00 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.600 - Survey Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.700 - Longitudinal Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.800 - Repeat Instrument Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.900 - Import Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script updated to verify data is unchanged after import once the instrument is locked
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.1000 - Access Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify no record is added
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37

Created: 9/24/2024 8:43:16 AM Edited on: 9/24/2024 8:43:16 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.600 - Survey Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.700 - Longitudinal Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.800 - Repeat Instrument Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.900 - Import Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script updated to verify data is unchanged after import once the instrument is locked
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.1000 - Access Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Steps added to verify no record is added
  • Modified script and pushed to branch MX_v13.8.1

Created: 9/23/2024 3:25:41 PM Edited on: 9/23/2024 3:25:41 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1 and MX_v13.1.37
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.600 - Survey Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.700 - Longitudinal Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.800 - Repeat Instrument Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.900 - Import Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script updated to verify data is unchanged after import once the instrument is locked
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.1000 - Access Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1

Created: 9/23/2024 2:32:51 PM Edited on: 9/23/2024 2:32:51 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1 and
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.600 - Survey Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.700 - Longitudinal Data Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.800 - Repeat Instrument Import.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.900 - Import Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script updated to verify data is unchanged after import once the instrument is locked
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.1000 - Access Restrictions.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1

Created: 9/23/2024 10:46:22 AM Edited on: 9/23/2024 10:46:22 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. B.3.16.100 - Import Templates - Columns & Rows
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.200 - Create & Modify Records.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.
  • Script Updated to Validate Data Changes Post-Import
  • Modified script and pushed to branch MX_v13.8.1
  1. B.3.16.400 - Field Validation.feature
  • Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.

Created: 9/23/2024 10:36:04 AM Edited on: 9/23/2024 10:36:04 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

B.3.16.100 - Import Templates - Columns & Rows - Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified. - Modified script and pushed to branch MX_v13.8.1

B.3.16.200 - Create & Modify Records.feature - Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified. - Script Updated to Validate Data Changes Post-Import - Modified script and pushed to branch MX_v13.8.1

Created: 9/23/2024 10:29:13 AM Edited on: 9/23/2024 10:29:13 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

B.3.16.100 - Import Templates - Columns & Rows - Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified.

B.3.16.200 - Create & Modify Records.feature - Script works for v13.1.37 but needs to be modified for v13.8.1 as the view of the page has been modified. - Script Updated to Validate Data Changes Post-Import

Created: 9/23/2024 10:25:19 AM Edited on: 9/23/2024 10:25:19 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

B.3.16.100 - Import Templates - Columns & Rows - Script works for v13.1.37 but needs to be modified for 13.8.1 as the view of the page has been modified.

B.3.16.200 - Create & Modify Records.feature - Script works for v13.1.37 but needs to be modified for 13.8.1 as the view of the page has been modified. - Script Modified to verify data is updated after data import

Created: 9/23/2024 10:25:11 AM Edited on: 9/23/2024 10:25:11 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

B.3.16.100 - Import Templates - Columns & Rows

  • Script works for v13.1.37 but needs to be modified for 13.8.1 as the view of the page has been modified.

B.3.16.200 - Create & Modify Records.feature

  • Script works for v13.1.37 but needs to be modified for 13.8.1 as the view of the page has been modified.
  • Script Modified to verify data is updated after data import

Created: 9/23/2024 10:25:11 AM Edited on: 9/23/2024 8:54:59 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

B.3.16.100 - Import Templates - Columns & Rows

  • Script works for v13.1.37 but needs to be modified for 13.8.1 as the view of the page has been modified.

Timeline events:

LABELLED | User: MintooXavier Created on: 7/29/2024 2:04:51 PM Label name: Core feature Label description: Part of the RSVC core feature set

LABELLED | User: MintooXavier Created on: 7/29/2024 2:04:51 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 7/29/2024 2:04:51 PM Label name: Automated Label description:

ASSIGNED | User: MintooXavier Created on: 7/29/2024 2:04:51 PM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 8/23/2024 2:59:27 PM Issue comment body:

Scripts Pre-reviewed:

  1. B.3.16.100 - Import Templates - Columns & Rows
  2. B.3.16.200 - Create & Modify Records.feature
  3. B.3.16.300 - REDUNDANT
  4. B.3.16.400 - Field Validation.feature
  5. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes
  6. B.3.16.600 - Survey Data Import
  7. B.3.16.700 - Longitudinal Data Import - verify data before and after import
  8. B.3.16.800 - Repeat Instrument Import - verify data before and after import
  9. B.3.16.900 - Import Restrictions
  10. B.3.16.1000 - Access Restrictions
  11. B.3.16.1200 - Overwrite Existing Data.feature
  12. B.3.16.1300 - Data Import - DAGs
ISSUE COMMENT | User: MintooXavier Created on: 9/23/2024 8:54:59 AM Issue comment body:
  1. B.3.16.100 - Import Templates - Columns & Rows
  1. B.3.16.200 - Create & Modify Records.feature
  1. B.3.16.1300 - Data Import - DAGs
  1. B.3.16.400 - Field Validation.feature
  1. B.3.16.500 - Choices for Radios, Dropdowns, Checkboxes.feature
  1. B.3.16.600 - Survey Data Import.feature
  1. B.3.16.700 - Longitudinal Data Import.feature
  1. B.3.16.800 - Repeat Instrument Import.feature
  1. B.3.16.900 - Import Restrictions.feature
  1. B.3.16.1000 - Access Restrictions.feature
  1. B.3.16.1200 - Overwrite Existing Data

LABELLED | User: MintooXavier Created on: 9/24/2024 2:55:37 PM Label name: Question Label description: Further information is requested


————— feature ends —————



Feature: 117. File Version History for ‘File Upload’ Fields

Id: I_kwDOIaOBn86LreC5 Uid: redcap_cypress-58
Author: MintooXavier Created: 6/10/2024 9:40:45 AM
Assignees: MintooXavier || LawrenceFayers Resource path: /CCTC-team/redcap_cypress/issues/58
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:06:46 PM
Locked: false Participants: MintooXavier || LawrenceFayers || TanDBPRO

Project item body:

Brief description:
The File Version History allows you to maintain previous versions of a file for a File Upload field on a form or survey. If a new version of a file needs to be uploaded for the field, instead of deleting the current file before adding the new one, you may simply upload a new file (via the ‘Upload new version’ link), in which all older versions will be kept and will be accessible for viewing/download in the Data History popup for the field. This features provides the convenience of accessing older versions of the file instead of having to delete them.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/117_file_version_history_for_file_upload_fields.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/File%20Version%20History%20for%20File%20Upload%20Fields_117/D.117.100%20-%20File%20Version%20History%20for%20File%20Upload%20fields.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/File%20Version%20History%20for%20File%20Upload%20Fields_117/D.117.200%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/File%20Version%20History%20for%20File%20Upload%20Fields_117/D.117.300%20-%20REDUNDANT.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/File%20Version%20History%20for%20File%20Upload%20Fields_117/D.117.400%20-%20REDUNDANT.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/117_file_version_history_for_file_upload_fields.spec

D.117.100 - The system shall support the ability to enable/disable File Version History for ‘File Upload’ fields
D.117.200 - The system shall support the ability to upload a new version of a file for a File Upload field.
D.117.300 - The system shall support the ability to maintain, view and download all versions of a file for a File Upload field.
D.117.400 - The system shall support the ability to download only the current version of a file for a File Upload field during download of zip file of all files uploaded for a given record or for the whole project.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/File%20Version%20History%20for%20File%20Upload%20Fields_117/D.117.100%20-%20File%20Version%20History%20for%20File%20Upload%20fields.feature

Feature: D.117.100 - The system shall support the ability to enable/disable File Version History for ‘File Upload’ fields

As a REDCap end user I want to see that File Version History for File Upload fields is functioning as expected

Scenario: D.117.100 - File Version History Enabled Given I login to REDCap with the user “Test_User1” And I create a new project named “D.117.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val.xml”, and clicking the “Create Project” button And I click on the button labeled “Additional customizations” And I should see a checkbox labeled Enable the Data History popup for all data collection instruments that is checked in additional customizations And I should see a checkbox labeled Enable the File Version History for ‘File Upload’ fields that is checked in additional customizations When I click on the button labeled “Cancel”

Given I click on the link labeled "Record Status Dashboard"
And I click on the button labeled "Add new record for this arm"
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I should see a link labeled "file1.csv (0.01 MB)"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
When I download a file by clicking on the link labeled "file1.csv (0.01 MB)"
Then I should see a downloaded file named "file1.csv"

Given I click on the History icon for the field labeled "File Upload"
Then I should see 'Data History for variable "file_upload" for record "2"'
And I should see a table header and rows containing the following values in a table:
  | User       | File Uploaded             | File Version   |
  | test_user1 | Upload File - "file1.csv" | V1             |
  
And I should see a link labeled "Delete" in the dialog box
And I should see a button labeled "Download" in the dialog box
And I click on the button labeled "Close" in the dialog box

Scenario: D.117.200 - Upload new version of file Given I click on the link labeled “Upload new version” And I upload a “csv” format file located at “import_files/B3161200100_ACCURATE.csv”, by clicking the button near “File Upload” to browse for the file, and clicking the button labeled “Upload file” to upload the file Then I should see a link labeled “B3161200100_ACCURATE.csv (0.01 MB)” And I select the submit option labeled “Save & Stay” on the Data Collection Instrument When I download a file by clicking on the link labeled “B3161200100_ACCURATE.csv (0.01 MB)” Then I should see a downloaded file named “B3161200100_ACCURATE.csv”

# D.117.300
Given I click on the History icon for the field labeled "File Upload"
Then I should see 'Data History for variable "file_upload" for record "2"'
And I should see a table header and rows containing the following values in a table:
  | User       | File Uploaded                            | File Version   |
  | test_user1 | Upload File - "file1.csv"                | V1             |
  | test_user1 | Upload File - "B3161200100_ACCURATE.csv" | V2             |

And I click on the button labeled "Download" for row 1
And I should see a downloaded file named "file1 (1).csv"
And I click on the button labeled "Download" for row 2
And I should see a downloaded file named "B3161200100_ACCURATE (1).csv"
And I click on the button labeled "Close" in the dialog box

Scenario: D.117.400 - Download only current version of file during download of zip file Given I click on the link labeled “Record Status Dashboard” And I click on the link labeled exactly “2” And I click on the button labeled “Choose action for record” And I click on the link labeled “Download ZIP file of all uploaded documents” And I wait for 1 second Then I should see a downloaded file named “Files_D117100_yyyy-mm-dd_hhmm.zip” And I unzip the latest downloaded zip file Then the downloaded CSV with filename “unzipped/Files_D117100_yyyy-mm-dd_hhmm/documents/2_event_1_arm_1_data_types_1_file_upload.csv” has the header below | record_id | redcap_event_name | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | redcap_survey_identifier | name | email | text_validation_complete |

Given I click on the link labeled "Record Status Dashboard"
And I click on the button labeled "Add new record for this arm"
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I should see a link labeled "file1.csv (0.01 MB)"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
When I download a file by clicking on the link labeled "file1.csv (0.01 MB)"
Then I should see a downloaded file named "file1 (2).csv"

When I click on the History icon for the field labeled "File Upload"
Then I should see 'Data History for variable "file_upload" for record "3"'
And I should see a table header and rows containing the following values in a table:
  | User       | File Uploaded             | File Version   |
  | test_user1 | Upload File - "file1.csv" | V1             |

And I click on the button labeled "Close" in the dialog box

Given I click on the link labeled "Data Exports, Reports, and Stats"
And I click on the tab labeled "Other Export Options"
When I click on the icon ZIP to download ZIP file of uploaded files
And I wait for 1 second
Then I should see a downloaded file named "Files_D117100_yyyy-mm-dd_hhmm.zip"
When I unzip the latest downloaded zip file
Then the downloaded CSV with filename "unzipped/Files_D117100_yyyy-mm-dd_hhmm/documents/2_event_1_arm_1_data_types_1_file_upload.csv" has the header below
  | record_id | redcap_event_name | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | redcap_survey_identifier | name | email | text_validation_complete |

And the downloaded CSV with filename "unzipped/Files_D117100_yyyy-mm-dd_hhmm/documents/3_event_1_arm_1_data_types_1_file_upload.csv" has the header below
  | record_id | redcap_event_name | redcap_survey_identifier | lname | fname | email | demographics |survey_timestamp | reminder | description | survey_complete |

Given I click on the link labeled "Record Status Dashboard"
And I click on the link labeled exactly "2"
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
And I click on the History icon for the field labeled "File Upload"
Then I should see 'Data History for variable "file_upload" for record "2"'
And I click on the link labeled "Delete" for row 1
When I click on the button labeled "Yes, delete it"
Then I should see "Deleted on"
And I should see a table header and rows containing the following values in a table:
  | User       | File Uploaded                            | File Version   | Information / Action        |
  | test_user1 | Upload File - "file1.csv"                | V1             |                             |
  | test_user1 | Upload File - "B3161200100_ACCURATE.csv" | V2             |                             |

And I click on the button labeled "Close" in the dialog box
When I click on the link labeled "Remove file"
Then I click on the button labeled "Yes, delete it"
Then I should see a link labeled "Upload file"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
When I click on the History icon for the field labeled "File Upload"
Then I should see 'Data History for variable "file_upload" for record "2"'
Then I should see a table header and rows containing the following values in a table:
  | User       | File Uploaded                            | File Version   | Information / Action        |
  | test_user1 | Upload File - "file1.csv"                | V1             | Deleted on                  |
  | test_user1 | Upload File - "B3161200100_ACCURATE.csv" | V2             | Deleted on                  |

And I click on the button labeled "Close" in the dialog box

# Disable File Version History
Given I click on the link labeled "Project Setup"
When I click on the button labeled "Additional customizations"
Then I uncheck the checkbox labeled Enable the File Version History for 'File Upload' fields in additional customizations
And I click on the button labeled "Save"

Given I click on the link labeled "Record Status Dashboard"
And I click on the button labeled "Add new record for this arm"
And I click the bubble to select a record for the "Data Types" longitudinal instrument on event "Event 1"
And I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I should see a link labeled "file1.csv (0.01 MB)"

When I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should NOT see a link labeled "Upload new version"
And I click on the link labeled "Remove file"
And I click on the button labeled "Yes, delete it"
Then I should see a link labeled "Upload file"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
When I click on the link labeled "Upload file"
And I upload a "csv" format file located at "import_files/redcap_val/file1.csv", by clicking the button near "Select a file" to browse for the file, and clicking the button labeled "Upload file" to upload the file
Then I should see a link labeled "file1.csv (0.01 MB)"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument

# Verify file version is not saved
Given I click on the History icon for the field labeled "File Upload"
When I should see 'Data History for variable "file_upload" for record "4"'
Then I should see a table header and rows containing the following values in a table:
  | User       | Data Changes Made         |
  | test_user1 | Upload File - "file1.csv" | 
  | test_user1 | Delete File               |
  | test_user1 | Upload File - "file1.csv" | 

And I click on the button labeled "Close" in the dialog box

#VERIFY_LOG
Given I click on the link labeled "Logging"
Then I should see a table header and rows containing the following values in the logging table:
  | Time / Date      | Username   | Action                                                    | List of Data Changes OR Fields Exported                                              |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 4 (Event 1 (Arm 1: Arm 1))                  | file_upload = '6'                                                                    |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 4 (Event 1 (Arm 1: Arm 1))                  | file_upload = ''                                                                     |
  | mm/dd/yyyy hh:mm | test_user1 | Create record 4 (Event 1 (Arm 1: Arm 1))                  | calculated_field = '6', file_upload = '5' data_types_complete = '0', record_id = '4' |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design                                             | Make project customizations                                                          |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 2 (Event 1 (Arm 1: Arm 1))                  | file_upload = ''                                                                     |
  | mm/dd/yyyy hh:mm | test_user1 | Deleted Document Update record 2 (Event 1 (Arm 1: Arm 1)) | file_upload (V1)                                                                     |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design                                             | Download ZIP of uploaded files (all records)                                         |
  | mm/dd/yyyy hh:mm | test_user1 | Download uploaded document Record 3                       | file_upload                                                                          |
  | mm/dd/yyyy hh:mm | test_user1 | Create record 3 (Event 1 (Arm 1: Arm 1))                  | calculated_field = '6', file_upload = '4' data_types_complete = '0', record_id = '3' |
  | mm/dd/yyyy hh:mm | test_user1 | Manage/Design                                             | Download ZIP of uploaded files (single record)                                       |
  | mm/dd/yyyy hh:mm | test_user1 | Download uploaded document Record 2                       | file_upload (V2)                                                                     |
  | mm/dd/yyyy hh:mm | test_user1 | Download uploaded document Record 2                       | file_upload (V1)                                                                     |
  | mm/dd/yyyy hh:mm | test_user1 | Download uploaded document Record 2                       | file_upload                                                                          |
  | mm/dd/yyyy hh:mm | test_user1 | Update record 2 (Event 1 (Arm 1: Arm 1))                  | file_upload = '3'                                                                    |
  | mm/dd/yyyy hh:mm | test_user1 | Download uploaded document Record 2                       | file_upload                                                                          |
  | mm/dd/yyyy hh:mm | test_user1 | Create record 2 (Event 1 (Arm 1: Arm 1))                  | calculated_field = '6', file_upload = '2' data_types_complete = '0', record_id = '2' |

And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/File%20Version%20History%20for%20File%20Upload%20Fields_117/D.117.200%20-%20REDUNDANT.feature

Feature: D.117.200 - The system shall support the ability to upload a new version of a file for a File Upload field

This feature test is REDUNDANT and can be viewed in D.117.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/File%20Version%20History%20for%20File%20Upload%20Fields_117/D.117.300%20-%20REDUNDANT.feature

Feature: D.117.300 - The system shall support the ability to maintain, view and download all versions of a file for a File Upload field.

This feature test is REDUNDANT and can be viewed in D.117.100

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/File%20Version%20History%20for%20File%20Upload%20Fields_117/D.117.400%20-%20REDUNDANT.feature

Feature: D.117.400 - The system shall support the ability to download only the current version of a file for a File Upload field during download of zip file of all files uploaded for a given record or for the whole project.

This feature test is REDUNDANT and can be viewed in D.117.100


Comments:

Comment:

Author: MintooXavier Updated on: 10/17/2024 11:10:51 AM

Comment body:
  1. Added steps to verify logging. (I had asked this to be added after the feature was submitted, so I said I’ll add it during review)
  2. Added few more Data History Verifications.
  3. Added the steps to unzip and verify downloaded files (LF had added comments for this and mentioned it. I’ve now included the steps, and hopefully, we can make it work)
  4. Added REDUNDANT files.

In Logging (added this comment in the script as well):
# Files uploaded are shown as File Upload = ‘num’ where num is random number.
# Files deleted are shown as File Upload = ’‘.
# Previous versions of files deleted are recorded properly as Deleted including version number e.g. Deleted Document file_upload (V1).
# The file upload number is different each time in ’List of Data Changes OR Fields Exported’ column. Have to check if it works without the number.

I have made all the changes mentioned above and pushed them to GitHub.

Script pre-reviewed and Tests Pass

Comment edits:

Created: 10/17/2024 11:10:51 AM Edited on: 10/17/2024 11:10:51 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Added steps to verify logging. (I had asked this to be added after the feature was submitted, so I said I’ll add it during review)
  2. Added few more Data History Verifications.
  3. Added the steps to unzip and verify downloaded files (LF had added comments for this and mentioned it. I’ve now included the steps, and hopefully, we can make it work)
  4. Added REDUNDANT files.

In Logging (added this comment in the script as well): # Files uploaded are shown as File Upload = ‘num’ where num is random number. # Files deleted are shown as File Upload = ’‘. # Previous versions of files deleted are recorded properly as Deleted including version number e.g. Deleted Document file_upload (V1). # The file upload number is different each time in ’List of Data Changes OR Fields Exported’ column. Have to check if it works without the number.

I have made all the changes mentioned above and pushed them to GitHub.

Script pre-reviewed and Tests Pass

Created: 10/17/2024 11:09:37 AM Edited on: 10/17/2024 11:09:37 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Added steps to verify logging. (I had asked this to be added after the feature was submitted, so I said I’ll add it during review)
  2. Added few more Data History Verifications.
  3. Added the steps to unzip and verify downloaded files (LF had added comments for this and mentioned it. I’ve now included the steps, and hopefully, we can make it work)
  4. Added REDUNDANT files.

In Logging (added this comment in the script as well): # Files uploaded are shown as File Upload = ‘num’ where num is random number. # Files deleted are shown as File Upload = ’‘. # Previous versions of files deleted are recorded properly as Deleted including version number e.g. Deleted Document file_upload (V1). # The file upload number is different each time in ’List of Data Changes OR Fields Exported’ column. Have to check if it works without the number.

Script pre-reviewed and Tests Pass

Created: 10/17/2024 11:09:37 AM Edited on: 10/17/2024 11:09:14 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Added steps to verify logging. (I had asked this to be added after the feature was submitted, so I said I’ll add it during review)
  2. Added few more Data History Verifications.
  3. Added the steps to unzip and verify downloaded files (LF had added comments for this and mentioned it. I’ve now included the steps, and hopefully, we can make it work)

In Logging (added this comment in the script as well): # Files uploaded are shown as File Upload = ‘num’ where num is random number. # Files deleted are shown as File Upload = ’‘. # Previous versions of files deleted are recorded properly as Deleted including version number e.g. Deleted Document file_upload (V1). # The file upload number is different each time in ’List of Data Changes OR Fields Exported’ column. Have to check if it works without the number.

Script pre-reviewed and Tests Pass

Comment:

Author: MintooXavier Updated on: 11/26/2024 1:48:53 PM

Comment body:

Added step definitions in mintoo.js for the following:

  1. unzip the file
  2. click on the img in Other Export Options

Modified and automated the script.


Timeline events:

LABELLED | User: MintooXavier Created on: 6/10/2024 9:40:45 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/10/2024 9:40:45 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/10/2024 9:40:46 AM Assignee: TanDBPRO

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:48:20 PM Previous title: 18. File Version History for ‘File Upload’ Fields Current title: 117. File Version History for ‘File Upload’ Fields

ASSIGNED | User: LawrenceFayers Created on: 8/23/2024 10:21:52 AM Assignee: LawrenceFayers

UNASSIGNED | User: LawrenceFayers Created on: 8/23/2024 10:21:52 AM Assignee: TanDBPRO

ISSUE COMMENT | User: MintooXavier Created on: 10/17/2024 11:09:14 AM Issue comment body:
  1. Added steps to verify logging. (I had asked this to be added after the feature was submitted, so I said I’ll add it during review)
  2. Added few more Data History Verifications.
  3. Added the steps to unzip and verify downloaded files (LF had added comments for this and mentioned it. I’ve now included the steps, and hopefully, we can make it work)
  4. Added REDUNDANT files.

In Logging (added this comment in the script as well):
# Files uploaded are shown as File Upload = ‘num’ where num is random number.
# Files deleted are shown as File Upload = ’‘.
# Previous versions of files deleted are recorded properly as Deleted including version number e.g. Deleted Document file_upload (V1).
# The file upload number is different each time in ’List of Data Changes OR Fields Exported’ column. Have to check if it works without the number.

I have made all the changes mentioned above and pushed them to GitHub.

Script pre-reviewed and Tests Pass

ASSIGNED | User: MintooXavier Created on: 11/26/2024 1:47:14 PM Assignee: MintooXavier

UNLABELLED | User: MintooXavier Created on: 11/26/2024 1:47:24 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/26/2024 1:47:24 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 11/26/2024 1:47:24 PM Label name: Automated Label description:

ISSUE COMMENT | User: MintooXavier Created on: 11/26/2024 1:48:53 PM Issue comment body:

Added step definitions in mintoo.js for the following:

  1. unzip the file
  2. click on the img in Other Export Options

Modified and automated the script.


————— feature ends —————



Feature: 112. User Password Strategy

Id: I_kwDOIaOBn86LWHzi Uid: redcap_cypress-51
Author: MintooXavier Created: 6/6/2024 9:47:26 AM
Assignees: MintooXavier || rukayat-yakub Resource path: /CCTC-team/redcap_cypress/issues/51
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:05:00 PM
Locked: false Participants: MintooXavier || rukayat-yakub

Project item body:

Brief description:
Creating a user/resetting password, sends a email to inbox. This process needs to be tested manually.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/112_user_password_strategy.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/User%20Password%20Strategy_112/D.112.100%20-%20User%20Password%20Strategy.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/112_user_password_strategy.spec

D.112.100 - The system shall support the ability to send password over emails when a user is created, or password is changed.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/User%20Password%20Strategy_112/D.112.100%20-%20User%20Password%20Strategy.feature

Feature: D.112.100 - The system shall support the ability to send password over emails when a user is created, or password is changed.

As a REDCap end user
I want to see that User Password Strategy is functioning as expected

Scenario: User Password Strategy (created, reset and changed)
    Given I login to REDCap with the user "Test_Admin"   
    And I click on the link labeled "Control Center"
    # EMAIL ADDRESS SET FOR REDCAP ADMIN - without it, emails are not send out from system
    When I click on the link labeled "General Configuration"
    Then I should see "General Configuration"
    When I enter "redcap@test.instance" into the input field labeled "Email Address of REDCap Administrator"
    And I click on the button labeled "Save Changes"
    Then I should see "Your system configuration values have now been changed"
    
    Given I click on the link labeled "Add Users (Table-based Only)"
    Then I should see "User Management for Table-based Authentication" 
    When I enter "Test_User5" into the input field labeled "Username:" 
    And I enter "Test" into the input field labeled "First name:"
    And I enter "User5" into the input field labeled "Last name:"
    And I enter "Test_User5@example.com" into the input field labeled "Primary email:"
    And I click on the button labeled "Save"
    Then I should see "User has been successfully saved."      
    And I should see "User has been successfully saved. An email with login information was sent to: Test_User5@example.com"   
    And I logout

    ##VERIFY: Verify email in MailHog and set password
    Given I open Email
    Then I should see an email for user "Test_User5@example.com" with subject "REDCap access granted"
    When I click on the link in the email for user "Test_User5@example.com" with subject "REDCap access granted"
    Then I should see "Set Your Password"
    Then I enter "Testing123" into the input field labeled "Password"
    And I enter "Testing123" into the input field labeled "Re-type password"
    And I click on the button labeled "Submit"

   ##VERIFY: Testing New Password
    Given I visit the REDCap login page
    And I enter "Test_User5" into the input field labeled "Username"
    And I enter "Testing123" into the input field labeled "Password"
    And I click on the button labeled "Log In"
    Then I should see "Welcome to REDCap!"

    #FUNCTIONAL_REQUIREMENT
    ##ACTION: Reset Password 
    Given I click on the link labeled "Profile"
    Then I click on the button labeled "Reset password"
    And I click on the button labeled "Reset" in the dialog box
    Then I should see "Set Your Password"
    Then I enter "Testingpass123" into the input field labeled "Password"
    And I enter "Testingpass123" into the input field labeled "Re-type password"
    And I click on the button labeled "Submit"
    And I logout

    ##VERIFY: Testing New Password
    Given I visit the REDCap login page
    And I enter "Test_User5" into the input field labeled "Username"
    And I enter "Testingpass123" into the input field labeled "Password"
    And I click on the button labeled "Log In"
    Then I should see "Welcome to REDCap!"
    And I logout

    ##ACTION: Forgot Your Password
    Given I visit the REDCap login page
    When I click on the link labeled "Forgot your password"
    Then I should see "REDCap Password Recovery"
    And I enter "Test_User5" into the input field labeled "Username"
    And I click on the button containing "Send password reset email"
    Then I should see "EMAIL SENT!"
    # Then I click on the button labeled "Go back to Login page"

    ##VERIFY: Verify email in MailHog and set password
    Given I open Email
    When I click on the link in the email for user "Test_User5@example.com" with subject "REDCap password reset"
    Then I should see "Set Your Password"
    And I enter "Testing1234" into the input field labeled "Password"
    And I enter "Testing1234" into the input field labeled "Re-type password"
    And I click on the button labeled "Submit"

    ##VERIFY: Testing New Password
    Given I visit the REDCap login page
    When I enter "Test_User5" into the input field labeled "Username"
    And I enter "Testing1234" into the input field labeled "Password"
    And I click on the button labeled "Log In"
    Then I should see "Welcome to REDCap!"
    And I logout

Comments:

Comment:

Author: rukayat-yakub Updated on: 8/15/2024 5:59:06 PM

Comment body:

@MintooXavier Please review when you can

Comment:

Author: MintooXavier Updated on: 8/16/2024 3:11:52 PM

Comment body:
  1. Please write the remaining steps. steps to enter password and submit:
    #The remaining steps was checked in the live environment and it functions perfectly.
  2. No need to verify 2 Factor Authentication:
    ##ACTION: Using the Two-step Verification For REDCap login
  3. Each time you set/reset the password, verify you can login with the password.

@rukayat-yakub Review completed

Comment edits:

Created: 8/16/2024 3:11:52 PM Edited on: 8/16/2024 3:11:52 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Please write the remaining steps. steps to enter password and submit: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/13_user_password_strategy.feature#L25
  2. No need to verify 2 Factor Authentication: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/13_user_password_strategy.feature#L51
  3. Each time you set/reset the password, verify you can login with the password.

@rukayat-yakub Review completed

Created: 8/16/2024 3:11:52 PM Edited on: 8/16/2024 3:11:34 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Please write the remaining steps. steps to enter password and submit: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/13_user_password_strategy.feature#L25
  2. No need to verify 2 Factor Authentication: https://github.com/CCTC-team/redcap_cypress/blob/a55f232757b8ed5466e979698e3d602119b66fa5/manual_scripts/13_user_password_strategy.feature#L51
  3. Each time you set/reset the password, verify you can login with the password.

Comment:

Author: rukayat-yakub Updated on: 8/16/2024 5:16:27 PM

Comment body:

@MintooXavier - Done

Comment:

Author: MintooXavier Updated on: 8/20/2024 12:54:44 PM

Comment body:

Please create a folder (as mentioned previously) for each feature inside manual_scripts and put the scripts in it. The naming convention would be Data_Resolution_Workflow_106 where 106 is the feature number.

Comment:

Author: rukayat-yakub Updated on: 8/20/2024 2:27:07 PM

Comment body:

@MintooXavier -Done

Comment:

Author: MintooXavier Updated on: 8/22/2024 9:34:22 AM

Comment body:
  1. Change Test to User:
    Then I should see “Test has been successfully saved.”
  2. Change VERIFY_DE: to VERIFY, not sure what DE is, might be Data Entry.
  3. Add a step ‘Given I open Email’. There is no actual step for it now, so will have a squiggly line. I have added the step definition to my branch. Will be adding it to redcap_val later when we automate these tests.
  4. Password not tested here. This was mentioned in the previous review.
  5. Login before this line. Write step- ‘Given I visit the REDCap login page’. Then enter username and password and login.
  6. This is a link.
  7. Similarly changes also occur in the code below. Please change it. Check you visit the redcap login page (or open email) before you start cliking on the links

Comment:

Author: rukayat-yakub Updated on: 8/29/2024 3:00:49 PM

Comment body:

@MintooXavier Please review when you can. Please check to see the correct numbering it is missing 11 in the manual_scripts

Comment edits:

Created: 8/29/2024 3:00:49 PM Edited on: 8/29/2024 3:00:49 PM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

@MintooXavier Please review when you can. Please check to see the correct numbering it is missing 11 in the manual_scripts

Created: 8/29/2024 2:38:01 PM Edited on: 8/29/2024 2:38:01 PM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

@MintooXavier Please review when you can. The numbering for user password is 113 or 13 in the scripts but 112 in the user spec and in redcap_val. Please check to see the correct number and it is missing 11 in the manual_scripts

Created: 8/29/2024 2:34:16 PM Edited on: 8/29/2024 2:34:16 PM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

@MintooXavier Please review when you can. The numbering for user password is 113 or 13 in the scripts but 112 in the user spec and in redcap_val. Please check to see the correct number

Created: 8/29/2024 2:34:16 PM Edited on: 8/27/2024 1:47:48 PM Edited by: rukayat-yakub Deleted on: |none| Deleted by: |none|

Diff:

@MintooXavier Please review when you can

Comment:

Author: MintooXavier Updated on: 9/3/2024 10:16:05 AM

Comment body:

Script 11 (Field Embedding) is merged with Action Tags. Check script 107.

Comment:

Author: MintooXavier Updated on: 9/3/2024 10:52:56 AM

Comment body:
  1. Below two steps are not in data entry forms. Use ‘I enter “” into the input field labeled ““’
    Then I enter “Testing123” into the data entry form field labeled “Password”
    . Similarly change everywhere.
  2. Lines 38 to 44 can be deleted as you are logging out and logging back in again. Leave the comments in but delete Gherkin.
  3. After this, add ‘Then I should see “EMAIL SENT!”’
    And I click on the button labeled “Send password reset email”

@rukayat - Code review completed.

Comment:

Author: rukayat-yakub Updated on: 9/3/2024 11:14:07 AM

Comment body:

@MintooXavier - I have made the corrections

Comment:

Author: MintooXavier Updated on: 10/15/2024 9:04:45 AM

Comment body:

Script reviewed and passed

Cannot automate as email for changing Password was not getting sent to MailHog. SO Tested in Live Environment

Comment edits:

Created: 10/15/2024 9:04:45 AM Edited on: 10/15/2024 9:04:45 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script reviewed and passed

Cannot automate as email for changing Password was not getting sent to MailHog. SO Tested in Live Environment

Created: 10/15/2024 9:04:45 AM Edited on: 9/3/2024 11:23:09 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Script reviewed and passed

Comment:

Author: MintooXavier Updated on: 11/28/2024 11:56:06 AM

Comment body:

Added email id of REDCap Administrator in Control Center for emails to be sent to MailHog from REDCap.

Added SDs in mintoo.js

Modified and automated the script.


Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 9:47:26 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 9:47:26 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 9:47:26 AM Assignee: rukayat-yakub

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:47:16 PM Previous title: 13. User Password Strategy Current title: 112. User Password Strategy

ISSUE COMMENT | User: rukayat-yakub Created on: 8/15/2024 5:59:06 PM Issue comment body:

@MintooXavier Please review when you can

MENTIONED | User: MintooXavier Created on: 8/15/2024 5:59:07 PM

SUBSCRIBED | User: MintooXavier Created on: 8/15/2024 5:59:07 PM

LABELLED | User: rukayat-yakub Created on: 8/16/2024 9:07:47 AM Label name: Gherkin Label description: Uses a Gherkin syntax

ISSUE COMMENT | User: MintooXavier Created on: 8/16/2024 3:11:34 PM Issue comment body:
  1. Please write the remaining steps. steps to enter password and submit:
    #The remaining steps was checked in the live environment and it functions perfectly.
  2. No need to verify 2 Factor Authentication:
    ##ACTION: Using the Two-step Verification For REDCap login
  3. Each time you set/reset the password, verify you can login with the password.

@rukayat-yakub Review completed

MENTIONED | User: rukayat-yakub Created on: 8/16/2024 3:11:52 PM

SUBSCRIBED | User: rukayat-yakub Created on: 8/16/2024 3:11:52 PM

ISSUE COMMENT | User: rukayat-yakub Created on: 8/16/2024 5:16:27 PM Issue comment body:

@MintooXavier - Done

MENTIONED | User: MintooXavier Created on: 8/16/2024 5:16:28 PM

SUBSCRIBED | User: MintooXavier Created on: 8/16/2024 5:16:28 PM

ISSUE COMMENT | User: MintooXavier Created on: 8/20/2024 12:54:44 PM Issue comment body:

Please create a folder (as mentioned previously) for each feature inside manual_scripts and put the scripts in it. The naming convention would be Data_Resolution_Workflow_106 where 106 is the feature number.

ISSUE COMMENT | User: rukayat-yakub Created on: 8/20/2024 2:27:07 PM Issue comment body:

@MintooXavier -Done

MENTIONED | User: MintooXavier Created on: 8/20/2024 2:27:08 PM

SUBSCRIBED | User: MintooXavier Created on: 8/20/2024 2:27:08 PM

ISSUE COMMENT | User: MintooXavier Created on: 8/22/2024 9:34:22 AM Issue comment body:
  1. Change Test to User:
    Then I should see “Test has been successfully saved.”
  2. Change VERIFY_DE: to VERIFY, not sure what DE is, might be Data Entry.
  3. Add a step ‘Given I open Email’. There is no actual step for it now, so will have a squiggly line. I have added the step definition to my branch. Will be adding it to redcap_val later when we automate these tests.
  4. Password not tested here. This was mentioned in the previous review.
  5. Login before this line. Write step- ‘Given I visit the REDCap login page’. Then enter username and password and login.
  6. This is a link.
  7. Similarly changes also occur in the code below. Please change it. Check you visit the redcap login page (or open email) before you start cliking on the links
ISSUE COMMENT | User: rukayat-yakub Created on: 8/27/2024 1:47:48 PM Issue comment body:

@MintooXavier Please review when you can. Please check to see the correct numbering it is missing 11 in the manual_scripts

MENTIONED | User: MintooXavier Created on: 8/27/2024 1:47:50 PM

SUBSCRIBED | User: MintooXavier Created on: 8/27/2024 1:47:50 PM

ISSUE COMMENT | User: MintooXavier Created on: 9/3/2024 10:16:05 AM Issue comment body:

Script 11 (Field Embedding) is merged with Action Tags. Check script 107.

ISSUE COMMENT | User: MintooXavier Created on: 9/3/2024 10:52:56 AM Issue comment body:
  1. Below two steps are not in data entry forms. Use ‘I enter “” into the input field labeled ““’
    Then I enter “Testing123” into the data entry form field labeled “Password”
    . Similarly change everywhere.
  2. Lines 38 to 44 can be deleted as you are logging out and logging back in again. Leave the comments in but delete Gherkin.
  3. After this, add ‘Then I should see “EMAIL SENT!”’
    And I click on the button labeled “Send password reset email”

@rukayat - Code review completed.

MENTIONED | User: rukayat Created on: 9/3/2024 10:52:58 AM

SUBSCRIBED | User: rukayat Created on: 9/3/2024 10:52:58 AM

ISSUE COMMENT | User: rukayat-yakub Created on: 9/3/2024 11:14:07 AM Issue comment body:

@MintooXavier - I have made the corrections

MENTIONED | User: MintooXavier Created on: 9/3/2024 11:14:08 AM

SUBSCRIBED | User: MintooXavier Created on: 9/3/2024 11:14:08 AM

ISSUE COMMENT | User: MintooXavier Created on: 9/3/2024 11:23:09 AM Issue comment body:

Script reviewed and passed

Cannot automate as email for changing Password was not getting sent to MailHog. SO Tested in Live Environment

LABELLED | User: MintooXavier Created on: 10/15/2024 9:03:37 AM Label name: Doubtful of Automating Label description:

UNLABELLED | User: MintooXavier Created on: 11/28/2024 11:51:50 AM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/28/2024 11:51:50 AM Label name: Automated Label description:

UNLABELLED | User: MintooXavier Created on: 11/28/2024 11:51:54 AM Label name: Doubtful of Automating Label description:

ASSIGNED | User: MintooXavier Created on: 11/28/2024 11:51:57 AM Assignee: MintooXavier

ISSUE COMMENT | User: MintooXavier Created on: 11/28/2024 11:56:06 AM Issue comment body:

Added email id of REDCap Administrator in Control Center for emails to be sent to MailHog from REDCap.

Added SDs in mintoo.js

Modified and automated the script.


————— feature ends —————



Feature: 113. Additional Customizations

Id: I_kwDOIaOBn86LWO41 Uid: redcap_cypress-52
Author: MintooXavier Created: 6/6/2024 10:01:41 AM
Assignees: MintooXavier || CoreenDsouza Resource path: /CCTC-team/redcap_cypress/issues/52
Milestone: |none| Labels: Bug || Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 1:05:25 PM
Locked: false Participants: MintooXavier || CoreenDsouza

Project item body:

Brief description:
Missing Data Codes: Fields that have a blank/missing value may be marked with a custom ‘Missing Data Code’ to note why the value is blank. These missing codes may be used to aid in data analysis by specifying why a field lacks a value.
Data History popup: This will list the history of all data entered into a field for that record. It will display all previous values, who changed the value at each instance, and the time it was changed.
Prevent branching logic from hiding fields that have values: If this setting is not enabled (default), then whenever a field is to be hidden by branching logic on a data entry form, it will always ask the user if they wish to hide the field and erase its value, whereas on survey pages it will automatically erase the value of the field being hidden without displaying the confirmation prompt, which has always been the default behavior for surveys. If this setting is enabled, the branching logic behavior will change so that fields with values will not cause the ‘Erase the Value of the Field?’ confirmation prompt to ask the user if they wish to keep the value or hide the field, and instead fields with values will not be hidden by branching logic and will stay visible. Thus they will be exempt from branching logic. This will prevent data from being erased as it normally does if fields are hidden by branching logic. NOTE: This setting affects both data entry forms and survey pages.
Require a ‘reason’ when making changes to existing records?: Require users to enter a reason (200 character max) in a text box when making any data changes to an already existing record on a data collection instrument. The prompt is triggered when clicking the Save button on the page. Any ‘reasons’ entered can then be viewed anytime afterward on the Logging page.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/113_additional_customizations.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Additional%20Customizations_113/D.113.100%20-%20Missing%20Code.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Additional%20Customizations_113/D.113.200%20-%20Data%20History%20Popup.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Additional%20Customizations_113/D.113.300%20-%20Branching%20Logic%20Hiding%20Fields.feature
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Additional%20Customizations_113/D.113.400%20-%20Reason%20For%20Change.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/113_additional_customizations.spec

D.113.100 - The system shall support the ability to add Missing Data Codes to fields.
D.113.200 - The system shall support the ability to enable/disable Data History Popup for all data collection instruments.
D.113.300 - The system shall support the ability to prevent branching logic from hiding fields that have values.
D.113.400 - The system shall support the ability to provide a reason for change when editing instruments.

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Additional%20Customizations_113/D.113.100%20-%20Missing%20Code.feature

Feature: D.113.100 - The system shall support the ability to add Missing Data Codes to fields.

  As a REDCap end user
  I want to see that Missing Data Code is functioning as expected 

  Scenario: D.113.100 - Missing Data Code
        Given I login to REDCap with the user "Test_Admin" 
        And I create a new project named "D.113.100" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val.xml", and clicking the "Create Project" button

        Given I click on the link labeled "Record Status Dashboard"
        When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
        Then I should NOT see a Missing Code icon for the field labeled "Name"

        #ACTION: Add Missing Data Code
        Given I click on the link labeled "Project Setup"
        And I click on the button labeled "Additional customizations"
        And I scroll to the field labeled "Missing Data Codes"
        # {enter} for newline
        And I clear field and enter "INV, Invalid{enter}" into the textarea field labeled "Missing Data Codes"
        And I enter "UNK, Unknown" into the textarea field labeled "Missing Data Codes"
        Then I click on the button labeled "Save"

        #VERIFY_LOG
        Given I click on the link labeled "Logging"
        Then I should see a table header and row containing the following values in the logging table:
              | Date / Time      | Username   | Action        | List of Data Changes OR Fields Exported |
              | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Make project customizations             |

        #ACTION: Mark fields as Missing
        Given I click on the link labeled "Record Status Dashboard"
        When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
        And I click on the Missing Code icon for the field labeled "Name"
        And I add the missing code "Unknown (UNK)"
        Then I should see "UNK" in the data entry form field "Name"
        And I click on the Missing Code icon for the field labeled "Email"
        And I add the missing code "Invalid (INV)"
        Then I should see "INV" in the data entry form field "Email"
        And I click on the button labeled "Save & Exit Form"

        #ACTION: Verify Missing Data Code in report
        Given I click on the link labeled "Data Exports, Reports, and Stats"
        Then I should see "All data (all records and fields)"
        When I click on the button labeled "View Report" for the report named "All data (all records and fields)"
        Then I should see a table header and row containing the following values in a table:
              | Record ID | Event Name             | Name          | Email         |
              | 1         | Event 1 (Arm 1: Arm 1) | Unknown (UNK) | Invalid (INV) |

        #ACTION: Verify Missing Data Code in csv download file
        Given I click on the button labeled "Export Data"
        And I click on the radio labeled "CSV / Microsoft Excel (raw data)" in the dialog box
        And I click on the button labeled "Export Data" in the dialog box
        Then I should see a dialog containing the following text: "Data export was successful!"
        And I click on the download icon to receive the file for the "CSV / Microsoft Excel (raw data)" format in the dialog box
        Then I should have the latest downloaded "csv" file that contains the headings and rows below
              | record_id | redcap_event_name | redcap_repeat_instrument | redcap_repeat_instance | redcap_data_access_group | ptname_v2_v2 | email_v2 | text_validation_complete | ptname | text2 | textbox | notesbox | calculated_field | multiple_dropdown_auto | multiple_dropdown_manual | radio_button_auto   | radio_button_manual | checkbox___1 | checkbox___2 | checkbox___3 | checkbox___inv | checkbox___unk | signature | file_upload | required | identifier | identifier_2 | edit_field | data_types_complete |
              | 1         | event_1_arm_1     |                          |                        |                          | UNK          | INV      | 0                        |        |       |         |          |                  |                        |                          |                     |                     |              |              |              |                |                |           |             |          |            |              |            |                     |
              | 1         | event_1_arm_1     | data_types               |            1           |                          |              |          |                          |        |       |         |          | 6                |                        |                          |                     |                     | 0            | 0            | 0            | 0              | 0              |           |             |          |            |              |            | 2                   |
        
        And I click on the button labeled "Close" in the dialog box
        And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Additional%20Customizations_113/D.113.200%20-%20Data%20History%20Popup.feature

Feature: D.113.200 - The system shall support the ability to enable/disable Data History Popup for all data collection instruments.

  As a REDCap end user
  I want to see that Data History Popup is functioning as expected

  Scenario: Enable Data History Popup
        Given I login to REDCap with the user "Test_Admin" 
        And I create a new project named "D.113.200" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val.xml", and clicking the "Create Project" button

        #ACTION: Enable Data History Popup 
        Given I click on the link labeled "Project Setup"
        And I click on the button labeled "Additional customizations"
        Then I should see a checkbox labeled Enable the Data History popup for all data collection instruments that is checked in additional customizations
        And I click on the button labeled "Cancel" in the dialog box
        
        #VERIFY - Data History Popup entries
        Given I click on the link labeled "Record Status Dashboard"
        When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
        Then I should see a History icon for the field labeled "Name"
        When I click on the History icon for the field labeled "Name"
        Then I should see a table header and row containing the following values in a table:
              | Date/Time of Change           |
              | No data exists for this field |

        And I click on the button labeled "Close" in the dialog box
        When I enter "John" into the data entry form field labeled "Name" 
        And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
        And I click on the History icon for the field labeled "Name"
        Then I should see a table header and row containing the following values in a table:
              | Date/Time of Change | User       | Data Changes Made | 
              | mm/dd/yyyy hh:mm    | test_admin | John              |

        And I click on the button labeled "Close" in the dialog box
        When I clear field and enter "Joe" into the data entry form field labeled "Name" 
        And I click on the button labeled "Save & Stay"
        And I click on the History icon for the field labeled "Name"
        Then I should see a table header and row containing the following values in a table:
              | Date/Time of Change | User       | Data Changes Made | 
              | mm/dd/yyyy hh:mm    | test_admin | John              |
              | mm/dd/yyyy hh:mm    | test_admin | Joe               |

        And I click on the button labeled "Close" in the dialog box

  Scenario: Disable Data History Popup 
        Given I click on the link labeled "Project Setup"
        And I click on the button labeled "Additional customizations"
        And I uncheck the checkbox labeled Enable the Data History popup for all data collection instruments in additional customizations
        Then I click on the button labeled "Save" in the dialog box
        
        #VERIFY_LOG
        Given I click on the link labeled "Logging"
        Then I should see a table header and row containing the following values in the logging table:
              | Date / Time      | Username   | Action        | List of Data Changes OR Fields Exported |
              | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Make project customizations             |
  
        #VERIFY - No Data History icon is present
        Given I click on the link labeled "Record Status Dashboard"
        When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
        Then I should NOT see a History icon for the field labeled "Name"
        And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Additional%20Customizations_113/D.113.300%20-%20Branching%20Logic%20Hiding%20Fields.feature

Feature: D.113.300 - The system shall support the ability to prevent branching logic from hiding fields that have values

As a REDCap end user
I want to see that 'prevent branching logic from hiding fields that have values' is working as expected

Scenario: D.113.300 - Prevent branching logic from hiding fields that have values
    Given I login to REDCap with the user "Test_Admin" 
    And I create a new project named "D.113.300" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val.xml", and clicking the "Create Project" button

    #ACTION: Enable 'Prevent branching logic from hiding fields that have values' 
    Given I click on the link labeled "Project Setup"
    And I click on the button labeled "Additional customizations"
    And I check the checkbox labeled Prevent branching logic from hiding fields that have values in additional customizations
    Then I click on the button labeled "Save"

    #VERIFY_LOG
    Given I click on the link labeled "Logging"
    Then I should see a table header and row containing the following values in the logging table:
        | Date / Time      | Username   | Action        | List of Data Changes OR Fields Exported |
        | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Make project customizations             |
  
    #ACTION: Add branching logic
    Given I click on the link labeled "Designer"
    And I click on the instrument labeled "Text Validation"
    When I click on the Branching Logic icon for the variable "email_v2"
    And I click on "" in the textarea field labeled "Advanced Branching Logic Syntax" in the dialog box
    And I clear field and enter "[ptname_v2_v2]=''" in the textarea field labeled "Logic Editor" in the dialog box
    And I click on the button labeled "Update & Close Editor" in the dialog box
    And I click on the button labeled "Save" in the dialog box
    Then I should see "Branching logic: [ptname_v2_v2]=''" within the field with variable name "email_v2"

    #ACTION: Enter data and verify
    Given I click on the link labeled "Record Status Dashboard"
    When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
    Then I should see a field labeled "Email"
    And I enter "John" into the data entry form field labeled "Name"
    Then I should NOT see a field labeled "Email"
    And I clear field and enter "" into the data entry form field labeled "Name"
    Then I should see a field labeled "Email"
    And I enter "John@email.com" into the data entry form field labeled "Email"
    And I enter "John" into the data entry form field labeled "Name"
    Then I should see a Show Field icon for the field labeled "Email"
    And I click on the button labeled "Save & Exit Form"
    And I logout

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Additional%20Customizations_113/D.113.400%20-%20Reason%20For%20Change.feature

Feature: D.113.400 - The system shall support the ability to specify a reason when making changes to existing records

As a REDCap end user 
I want to see that Reason for change is working as expected 

Scenario: D.113.400 - Enable Reason for change 
    Given I login to REDCap with the user "Test_Admin" 
    And I create a new project named "D.113.400" by clicking on "New Project" in the menu bar, selecting "Practice / Just for fun" from the dropdown, choosing file "redcap_val/Project_redcap_val.xml", and clicking the "Create Project" button
    Given I click on the link labeled "Project Setup"
    And I click on the button labeled "Additional customizations"
    And I check the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
    Then I click on the button labeled "Save"

    #VERIFY_LOG
    Given I click on the link labeled "Logging"
    Then I should see a table header and row containing the following values in the logging table:
        | Date / Time      | Username   | Action        | List of Data Changes OR Fields Exported |
        | mm/dd/yyyy hh:mm | test_admin | Manage/Design | Make project customizations             |

    #ACTION: Import data 
    Given I click on the link labeled "Data Import Tool"
    And  I upload a "csv" format file located at "import_files/redcap_val/redcap_val_Data_Import.csv", by clicking the button near "Select your CSV data file" to browse for the file, and clicking the button labeled "Upload File" to upload the file
    And I should see "Your document was uploaded successfully and is ready for review."
    And I should see "Please supply a reason for the data changes for EACH existing record in the text boxes."
    And I enter reason for change as "Reason 1" for row 1
    And I enter reason for change as "Reason 2" for row 2
    And I click on the  button labeled "Import Data"
    Then I should see "Import Successful!"

    #ACTION: Change field values
    Given I click on the link labeled "Record Status Dashboard"
    When I locate the bubble for the "Data Types" instrument on event "Event 1" for record ID "1" and click on the bubble
    And I click on the History icon for the field labeled "Name"
    Then I should see a table header and row containing the following values in a table:
        | Date / Time of Change | User       | Data Changes Made | Reason for Data Change(s) | 
        | mm/dd/yyyy hh:mm      | test_admin | Lily Brown        | Reason 2                  |

    And I click on the button labeled "Close" in the dialog box
    And I click on the link labeled "Text Validation"
    When I click on the History icon for the field labeled "Name"
    # Bug - Should be Reason 1 but shows Reason 2
    Then I should see a table header and row containing the following values in a table:
        | Date / Time of Change | User       | Data Changes Made | Reason for Data Change(s) | 
        | mm/dd/yyyy hh:mm      | test_admin | Tony Stone        | Reason 2                  |

    And I click on the button labeled "Close" in the dialog box
    When I clear field and enter "John" into the data entry form field labeled "Name"
    And I clear field and enter "john@email.com" into the data entry form field labeled "Email" 
    And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
    Then I should see "Please supply reason for data changes" in the dialog box 
    And I enter "Reason 3" into the textarea field labeled "Reason for changes:" in the dialog box
    And I click on the button labeled "Save" in the dialog box

    #ACTION: Verify reason for change history
    When I click on the History icon for the field labeled "Name"
    Then I should see a table header and row containing the following values in a table:
        | Date / Time of Change | User       | Data Changes Made | Reason for Data Change(s) | 
        | mm/dd/yyyy hh:mm      | test_admin | Tony Stone        | Reason 2                  |
        | mm/dd/yyyy hh:mm      | test_admin |  John             | Reason 3                  |

    And I click on the button labeled "Close"
    Given I click on the History icon for the field labeled "Email"
    Then I should see a table header and row containing the following values in a table:
        | Date / Time of Change | User       | Data Changes Made     | Reason for Data Change(s) | 
        | mm/dd/yyyy hh:mm      | test_admin | tonystone@example.com | Reason 2                  |
        | mm/dd/yyyy hh:mm      | test_admin | john@email.com        | Reason 3                  |

    And I click on the button labeled "Close"

Scenario: Disable Reason for Change
    Given I click on the link labeled "Project Setup"
    And I click on the button labeled "Additional customizations"
    And I uncheck the checkbox labeled Require a 'reason' when making changes to existing records in additional customizations
    Then I click on the button labeled "Save"

    Given I click on the link labeled "Record Status Dashboard"
    When I locate the bubble for the "Text Validation" instrument on event "Event 1" for record ID "1" and click on the bubble
    When I clear field and enter "Joe" into the data entry form field labeled "Name"
    And I clear field and enter "joe@email.com" into the data entry form field labeled "Email" 
    And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
    Then I should NOT see "Please supply reason for data changes" in the dialog box 
    And I should see "successfully edited"
    And I logout

Comments:

Comment:

Author: CoreenDsouza Updated on: 10/8/2024 7:27:21 AM

Comment body:

@MintooXavier - Additional Customizations completed

Comment:

Author: MintooXavier Updated on: 10/18/2024 3:10:49 PM

Comment body:

D.113.100 - Missing Code.feature

  1. Deleted the steps to import data and users
  2. Added few verification steps
  3. Restructed the download steps
  4. Renamed the script according to URS
  5. Corrected indentations and comments
  6. Added steps to verify no Missing Data Code is added
  7. Added Logging

All changed have been made and pushed to GitHub.

Script Pre-reviewed and Tests Pass

Comment edits:

Created: 10/18/2024 3:10:49 PM Edited on: 10/18/2024 3:10:49 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.113.100 - Missing Code.feature

  1. Deleted the steps to import data and users
  2. Added few verification steps
  3. Restructed the download steps
  4. Renamed the script according to URS
  5. Corrected indentations and comments
  6. Added steps to verify no Missing Data Code is added
  7. Added Logging

All changed have been made and pushed to GitHub.

Script Pre-reviewed and Tests Pass

Created: 10/18/2024 1:58:18 PM Edited on: 10/18/2024 1:58:18 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.113.100 - Missing Code.feature

  1. Deleted the steps to import data
  2. Added few verification steps
  3. Restructed the download steps
  4. Renamed the script according to URS
  5. Corrected indentations and comments
  6. Added steps to verify no Missing Data Code is added
  7. Added Logging

All changed have been made and pushed to GitHub.

Script Pre-reviewed and Tests Pass

Created: 10/18/2024 1:47:25 PM Edited on: 10/18/2024 1:47:25 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.113.100 - Missing Code.feature

  1. Deleted the steps to import data
  2. Added few verification steps
  3. Restructed the download steps
  4. Renamed the script according to URS
  5. Corrected indentations and comments
  6. Added Logging

All changed have been made and pushed to GitHub.

Script Pre-reviewed and Tests Pass

Created: 10/18/2024 1:33:12 PM Edited on: 10/18/2024 1:33:12 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.113.100 - Missing Code.feature

  1. Deleted the steps to import data
  2. Added few verification steps
  3. Restructed the download steps
  4. Renamed the script according to URS
  5. Corrected indentations and comments

All changed have been made and pushed to GitHub.

Script Pre-reviewed and Tests Pass

Created: 10/18/2024 1:33:12 PM Edited on: 10/18/2024 12:51:23 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.113.100 - Missing Code.feature

  1. Deleted the steps to import data
  2. Added few verification steps
  3. Restructed the download steps
  4. Renamed the script according to URS

All changed have been made and pushed to GitHub.

Script Pre-reviewed and Tests Pass

Comment:

Author: MintooXavier Updated on: 10/18/2024 3:09:40 PM

Comment body:

D.113.200 - Data History Popup.feature

  1. Added steps to disable Data History and verify
  2. Added Logging
  3. Deleted the steps to import data and users
  4. Restructed the script
  5. Renamed the script according to URS
  6. Corrected indentations and comments

All changed have been made and pushed to GitHub.

Script Pre-reviewed and Tests Pass

Comment:

Author: MintooXavier Updated on: 10/22/2024 12:40:56 PM

Comment body:

D.113.300 - Branching Logic Hiding Fields

  1. Added Logging
  2. Restructed the script
  3. Renamed the script according to URS
  4. Corrected indentations and comments

Script Pre-reviewed and Tests Pass

Comment edits:

Created: 10/22/2024 12:40:56 PM Edited on: 10/22/2024 12:40:56 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.113.300 - Branching Logic Hiding Fields

  1. Added Logging
  2. Restructed the script
  3. Renamed the script according to URS
  4. Corrected indentations and comments

Script Pre-reviewed and Tests Pass

Created: 10/22/2024 12:40:56 PM Edited on: 10/22/2024 9:10:11 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.113.300 - Branching Logic Hiding Fields

  1. Added Logging
  2. Restructed the script
  3. Renamed the script according to URS
  4. Corrected indentations and comments

Comment:

Author: MintooXavier Updated on: 10/22/2024 12:41:28 PM

Comment body:

D.113.400 - Reason For Change.feature

  1. Added Logging
  2. Restructed the script
  3. Renamed the script according to URS
  4. Corrected indentations and comments

There is a bug in this feature. During Data Import, it prompts for two reasons for change, but only one reason is being recorded for all the fields.

Script Pre-reviewed and Tests Pass. This feature has a Bug

Comment edits:

Created: 10/22/2024 12:41:28 PM Edited on: 10/22/2024 12:41:28 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.113.400 - Reason For Change.feature

  1. Added Logging
  2. Restructed the script
  3. Renamed the script according to URS
  4. Corrected indentations and comments

There is a bug in this feature. During Data Import, it prompts for two reasons for change, but only one reason is being recorded for all the fields.

Script Pre-reviewed and Tests Pass. This feature has a Bug

Created: 10/22/2024 12:41:28 PM Edited on: 10/22/2024 12:40:40 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

D.113.400 - Reason For Change.feature

  1. Added Logging
  2. Restructed the script
  3. Renamed the script according to URS
  4. Corrected indentations and comments

There is a bug in this feature. During Data Import, it prompts for two reasons for change, but only one reason is being recorded for all the fields.

Comment:

Author: CoreenDsouza Updated on: 10/22/2024 1:59:58 PM

Comment body:

Hi Mintoo, I thought it was a bug but I after I recreated it with two existing records I realised the comments are at record level, and expect to have the same comment copied over for the whole record. So the when two records were updated via data import, and reason 1 was given for all rows of Record 1 and Reason 2 for all rows of Record 2, Reason1 and Reason 2 were correctly shown. It says each record here -
image @MintooXavier

Comment edits:

Created: 10/22/2024 1:59:58 PM Edited on: 10/22/2024 1:59:58 PM Edited by: CoreenDsouza Deleted on: |none| Deleted by: |none|

Diff:

Hi Mintoo, I thought it was a bug but I after I recreated it with two existing records I realised the comments are at record level, and expect to have the same comment copied over for the whole record. So the when two records were updated via data import, and reason 1 was given for all rows of Record 1 and Reason 2 for all rows of Record 2, Reason1 and Reason 2 were correctly shown. It says each record here - image @MintooXavier

Created: 10/22/2024 1:59:58 PM Edited on: 10/22/2024 1:58:21 PM Edited by: CoreenDsouza Deleted on: |none| Deleted by: |none|

Diff:

Hi Mintoo, I thought it was a bug but I after I recreated it with two existing records I realised the comments are at record level, and expect to have the same comment copied over for the whole record. So the when two records were updated via data import, and reason 1 was given for all rows of Record 1 and Reason 2 for all rows of Record 2, Reason1 and Reason 2 were correctly shown. It says each record here - image

Comment:

Author: MintooXavier Updated on: 10/23/2024 8:58:31 AM

Comment body:

@CoreenDsouza : That’s the bug. It prompts for a reason for change at the form level, but this has no effect at the form level and only applies at the record level. The initial reason for change is not utilized at all, even though it is provided.

Comment:

Author: MintooXavier Updated on: 11/14/2024 12:19:13 PM

Comment body:

Scripts Automated:

  1. D.113.100
  2. D.113.200
  3. D.113.300
  4. D.113.400

Comment edits:

Created: 11/14/2024 12:19:13 PM Edited on: 11/14/2024 12:19:13 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Automated:

  1. D.113.100
  2. D.113.200
  3. D.113.300
  4. D.113.400

Created: 11/14/2024 12:19:13 PM Edited on: 11/13/2024 2:10:09 PM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Scripts Automated:

  1. D.113.300

Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 10:01:42 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 10:01:42 AM Label name: Manual Label description:

ASSIGNED | User: MintooXavier Created on: 6/6/2024 10:01:42 AM Assignee: CoreenDsouza

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:47:41 PM Previous title: 14. Additional Customizations Current title: 113. Additional Customizations

ISSUE COMMENT | User: CoreenDsouza Created on: 10/8/2024 7:27:21 AM Issue comment body:

@MintooXavier - Additional Customizations completed

MENTIONED | User: MintooXavier Created on: 10/8/2024 7:27:22 AM

SUBSCRIBED | User: MintooXavier Created on: 10/8/2024 7:27:23 AM

ISSUE COMMENT | User: MintooXavier Created on: 10/18/2024 12:51:23 PM Issue comment body:

D.113.100 - Missing Code.feature

  1. Deleted the steps to import data and users
  2. Added few verification steps
  3. Restructed the download steps
  4. Renamed the script according to URS
  5. Corrected indentations and comments
  6. Added steps to verify no Missing Data Code is added
  7. Added Logging

All changed have been made and pushed to GitHub.

Script Pre-reviewed and Tests Pass

ISSUE COMMENT | User: MintooXavier Created on: 10/18/2024 3:09:40 PM Issue comment body:

D.113.200 - Data History Popup.feature

  1. Added steps to disable Data History and verify
  2. Added Logging
  3. Deleted the steps to import data and users
  4. Restructed the script
  5. Renamed the script according to URS
  6. Corrected indentations and comments

All changed have been made and pushed to GitHub.

Script Pre-reviewed and Tests Pass

ISSUE COMMENT | User: MintooXavier Created on: 10/22/2024 9:10:11 AM Issue comment body:

D.113.300 - Branching Logic Hiding Fields

  1. Added Logging
  2. Restructed the script
  3. Renamed the script according to URS
  4. Corrected indentations and comments

Script Pre-reviewed and Tests Pass

ISSUE COMMENT | User: MintooXavier Created on: 10/22/2024 12:40:40 PM Issue comment body:

D.113.400 - Reason For Change.feature

  1. Added Logging
  2. Restructed the script
  3. Renamed the script according to URS
  4. Corrected indentations and comments

There is a bug in this feature. During Data Import, it prompts for two reasons for change, but only one reason is being recorded for all the fields.

Script Pre-reviewed and Tests Pass. This feature has a Bug

LABELLED | User: MintooXavier Created on: 10/22/2024 12:41:47 PM Label name: Bug Label description: Something isn’t working

LABELLED | User: MintooXavier Created on: 10/22/2024 12:41:47 PM Label name: Gherkin Label description: Uses a Gherkin syntax

ISSUE COMMENT | User: CoreenDsouza Created on: 10/22/2024 1:58:21 PM Issue comment body:

Hi Mintoo, I thought it was a bug but I after I recreated it with two existing records I realised the comments are at record level, and expect to have the same comment copied over for the whole record. So the when two records were updated via data import, and reason 1 was given for all rows of Record 1 and Reason 2 for all rows of Record 2, Reason1 and Reason 2 were correctly shown. It says each record here -
image @MintooXavier

MENTIONED | User: MintooXavier Created on: 10/22/2024 2:00:18 PM

SUBSCRIBED | User: MintooXavier Created on: 10/22/2024 2:00:18 PM

ISSUE COMMENT | User: MintooXavier Created on: 10/23/2024 8:58:31 AM Issue comment body:

@CoreenDsouza : That’s the bug. It prompts for a reason for change at the form level, but this has no effect at the form level and only applies at the record level. The initial reason for change is not utilized at all, even though it is provided.

MENTIONED | User: CoreenDsouza Created on: 10/23/2024 8:58:32 AM

SUBSCRIBED | User: CoreenDsouza Created on: 10/23/2024 8:58:33 AM

ISSUE COMMENT | User: MintooXavier Created on: 11/13/2024 2:10:09 PM Issue comment body:

Scripts Automated:

  1. D.113.100
  2. D.113.200
  3. D.113.300
  4. D.113.400

ASSIGNED | User: MintooXavier Created on: 11/13/2024 2:10:16 PM Assignee: MintooXavier

LABELLED | User: MintooXavier Created on: 11/13/2024 2:10:21 PM Label name: Automated Label description:

UNLABELLED | User: MintooXavier Created on: 11/14/2024 12:18:32 PM Label name: Manual Label description:


————— feature ends —————



Feature: 107. Action Tags

Id: I_kwDOIaOBn86LV3iD Uid: redcap_cypress-45
Author: MintooXavier Created: 6/6/2024 9:14:45 AM
Assignees: MintooXavier || LawrenceFayers Resource path: /CCTC-team/redcap_cypress/issues/45
Milestone: |none| Labels: Non-core feature || Gherkin || Automated

State: OPEN State reason: |not applicable|
Includes created edit: true
Closed: false Closed on: |none|
Editor: MintooXavier Updated on: 3/19/2025 12:58:33 PM
Locked: false Participants: MintooXavier || LawrenceFayers || TanDBPRO

Project item body:

Brief description:
Action Tags are an excellent way to customize the data entry experience for surveys and forms. e.g. @CALCTEXT, @default etc. These are used for validating data.

User spec:
https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/107_action_tags.spec

Feature link:
https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Action%20Tags_107/D.107.100%20-%20Action%20Tags.feature

Pre review:

Post review:


User specification:


https://github.com/CCTC-team/redcap_cypress/blob/redcap_val/user_requirement_specification/features/107_action_tags.spec

D.107.100 - The system shall support the ability to use Action Tags in data entry forms. The following subset of Action Tags is selected and tested:
    D.107.100.1 - @CALCTEXT
    D.107.100.2 - @DEFAULT
    D.107.100.3 - @CALCDATE
    D.107.100.4 - @NOW and @TODAY
    D.107.100.5 - @IF
    D.107.100.6 - @USERNAME

Test script:

https://github.com/CCTC-team/redcap_rsvc/blob/redcap_val/Feature%20Tests/D/Action%20Tags_107/D.107.100%20-%20Action%20Tags.feature

Feature: D.107.100 - The system shall support the ability to use Action Tags in data entry forms. The following subset of Action Tags is selected and tested: D.107.100.1 - @CALCTEXT D.107.100.2 - @DEFAULT D.107.100.3 - @CALCDATE D.107.100.4 - @NOW and @TODAY D.107.100.5 - @IF D.107.100.6 - @USERNAME

As a REDCap end user I want to see that Action Tags is functioning as expected

Scenario: D.107.100.1 - @CALCTEXT Given I login to REDCap with the user “Test_User1” And I create a new project named “D.107.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “redcap_val/Project_redcap_val_ActionTags.xml”, and clicking the “Create Project” button Given I click on the link labeled “Designer” And I click on the link labeled “Action Tags Test” When I click on the Edit image for the field named “Years old” And I enter the equation “datediff([dob], ‘today’, ‘y’)” into Calculation Equation of the open “Add New Field” dialog box Then I click on the button labeled “Save” in the “Add New Field” dialog box When I click on the Edit image for the field named “Difference” And I click on the textarea labeled “Action Tags / Field Annotation” And I clear field and enter “@CALCTEXT(if([years] >= 10, ‘Greater than or equal to 10’, ‘Less than 10’))” in the textarea field labeled “Logic Editor” in the dialog box And I click on the button labeled “Update & Close Editor” And I enter “@CALCTEXT(if([years] >= 10, ‘Greater than or equal to 10’, ‘Less than 10’))” into the input field labeled “Field Note” Then I click on the button labeled “Save” #VERIFY Given I click on the link labeled “Add / Edit Records” And I select “1” on the dropdown field labeled “Choose an existing Record ID” When I click the bubble to select a record for the “Action Tags Test” longitudinal instrument on event “Status” Then I should see “” in the data entry form field “DOB” And I should see “” in the data entry form field “Years old” And I should see “Less than 10” in the data entry form field “Difference” When I enter “19-11-1978” into the input field labeled “DOB” And I select the submit option labeled “Save & Stay” on the Data Collection Instrument Then I should see “Greater than or equal to 10” in the data entry form field “Difference” When I click on the “Today” button for the field labeled “DOB” And I select the submit option labeled “Save & Stay” on the Data Collection Instrument Then I should see “0” in the data entry form field “Years old” And I should see “Less than 10” in the data entry form field “Difference”

Scenario: D.107.100.2 - @DEFAULT Given I click on the link labeled “Designer” And I click on the link labeled “Action Tags Test” When I click on the Edit image for the field named “Favorite Disney Character” And I click on the textarea labeled “Action Tags / Field Annotation” And I clear field and enter “@DEFAULT=‘5’” in the textarea field labeled “Logic Editor” in the dialog box And I click on the button labeled “Update & Close Editor” And I enter “@DEFAULT=‘5’” into the input field labeled “Field Note” Then I click on the button labeled “Save” When I click on the Edit image for the field named “What sport do you like the most” And I click on the textarea labeled “Action Tags / Field Annotation” And I clear field and enter ‘@DEFAULT=“Gymnastics”’ in the textarea field labeled “Logic Editor” in the dialog box And I click on the button labeled “Update & Close Editor” And I enter ‘@DEFAULT=“Gymnastics”’ into the input field labeled “Field Note” Then I click on the button labeled “Save” #VERIFY Given I click on the link labeled “Add / Edit Records” And I click on the button labeled “Add new record” When I click the bubble to select a record for the “Action Tags Test” longitudinal instrument on event “Status” Then I should see the radio labeled “Favorite Disney Character” with option “Goofy” selected And I should see “Gymnastics” in the data entry form field “What sport do you like the most” Then I clear field and enter “Football” into the input field labeled “What sport do you like the most” And I select the submit option labeled “Save & Stay” on the Data Collection Instrument

Scenario: D.107.100.3 - @CALCDATE Given I click on the link labeled “Designer” And I click on the link labeled “Action Tags Test” When I click on the Edit image for the field named “Next Visit Due” And I click on the textarea labeled “Action Tags / Field Annotation” And I clear field and enter “@CALCDATE([visit], 7, ‘d’)” in the textarea field labeled “Logic Editor” in the dialog box And I click on the button labeled “Update & Close Editor” And I enter “@CALCDATE([visit], 7, ‘d’)” into the input field labeled “Field Note” Then I click on the button labeled “Save” #VERIFY Given I click on the link labeled “Add / Edit Records” And I select “1” on the dropdown field labeled “Choose an existing Record ID” When I click the bubble to select a record for the “Action Tags Test” longitudinal instrument on event “Status” Then I should see “” in the data entry form field “Visit Date” When I enter “02/09/2023” into the input field labeled “Visit Date” And I select the submit option labeled “Save & Stay” on the Data Collection Instrument Then I should see “@CALCDATE(02-09-2023, 7, ‘d’)” And I should see “09-09-2023” in the data entry form field “Next Visit Due”

Scenario: D.107.100.4 - @NOW and @TODAY Given I click on the link labeled “Designer” And I click on the link labeled “Action Tags Test2” When I click on the Edit image for the field named “Now” And I click on the textarea labeled “Action Tags / Field Annotation” And I clear field and enter “@NOW” in the textarea field labeled “Logic Editor” in the dialog box And I click on the button labeled “Update & Close Editor” And I enter “@NOW” into the input field labeled “Field Note” Then I click on the button labeled “Save” When I click on the Edit image for the field named “Today’s Date” And I click on the textarea labeled “Action Tags / Field Annotation” And I clear field and enter “@TODAY” in the textarea field labeled “Logic Editor” in the dialog box And I click on the button labeled “Update & Close Editor” And I enter “@TODAY” into the input field labeled “Field Note” Then I click on the button labeled “Save” #VERIFY Given I click on the link labeled “Add / Edit Records” And I select “1” on the dropdown field labeled “Choose an existing Record ID” When I click the bubble to select a record for the “Action Tags Test2” longitudinal instrument on event “Status” Then I should see the exact time in the field labeled “Now” And I should see today’s date in the field labeled “Today” And I select the submit option labeled “Save & Stay” on the Data Collection Instrument

Scenario: D.107.100.5 - @IF Given I click on the link labeled “Designer” And I click on the link labeled “Action Tags Test2” When I click on the Edit image for the field named “What are your preferred appointment times?” And I click on the textarea labeled “Action Tags / Field Annotation” And I clear field and enter “@IF([weekend_yn] = ‘0’, @HIDECHOICE=‘6’, ’’)” in the textarea field labeled “Logic Editor” in the dialog box And I click on the button labeled “Update & Close Editor” Then I click on the button labeled “Save” #VERIFY Given I click on the link labeled “Add / Edit Records” And I select “1” on the dropdown field labeled “Choose an existing Record ID” When I click the bubble to select a record for the “Action Tags Test2” longitudinal instrument on event “Status” And I select the radio option “Yes” for the field labeled “Are you able to attend weekend appointments?” When I select the submit option labeled “Save & Stay” on the Data Collection Instrument Then I should see “Monday 8am - 9am” And I should see “Tuesday 10am - 11am” And I should see “Wednesday 12pm - 1pm” And I should see “Thursday 2pm - 3pm” And I should see “Friday 4pm - 5pm” And I should see “Saturday 10am - 11am”

When I select the radio option "No" for the field labeled "Are you able to attend weekend appointments?" 
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
Then I should NOT see "Saturday 10am - 11am"
And I should see "Monday 8am - 9am"
And I should see "Tuesday 10am - 11am"
And I should see "Wednesday 12pm - 1pm"
And I should see "Thursday 2pm - 3pm"
And I should see "Friday 4pm - 5pm"
And I select the submit option labeled "Save & Exit Form" on the Data Collection Instrument

Scenario: D.107.100.6 - @USERNAME Given I click on the link labeled “Designer” And I click on the link labeled “Action Tags Test2” When I click on the Edit image for the field named “Username” And I click on the textarea labeled “Action Tags / Field Annotation” And I clear field and enter “@USERNAME” in the textarea field labeled “Logic Editor” in the dialog box And I click on the button labeled “Update & Close Editor” And I enter “@USERNAME” into the input field labeled “Field Note” Then I click on the button labeled “Save”

Given I click on the link labeled "Add / Edit Records"
And I select "1" on the dropdown field labeled "Choose an existing Record ID"
When I click the bubble to select a record for the "Action Tags Test2" longitudinal instrument on event "Status"
Then I should see "test_user1" in the data entry form field "Username"
And I select the submit option labeled "Save & Stay" on the Data Collection Instrument
And I logout

Comments:

Comment:

Author: MintooXavier Updated on: 6/18/2024 10:59:11 AM

Comment body:

No need for another Field Embedding script. Incorporate Field embedding tests within this script as you have embedded fields in it.

Comment:

Author: MintooXavier Updated on: 9/26/2024 10:09:42 AM

Comment body:

Review of Action tags:

  1. Use test_user1 as test_user is used for old versions.
  2. Check the CDISC project name.
    And I create a new project named “D.107.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_redcap_val.xml”, and clicking the “Create Project” button
  3. Before this add a step to verify there is no data in ‘Next Visit Due’. Similarly do in other action tags.. Verify data before and after data input.
    When I enter “02/09/2023” into the input field labeled “Visit Date”
  4. I cannot see this. Best to delete this.
  5. This is relative, it depends on the date being tested. Hence best to not use this.
    And I should see “45.84887665957093” in the data entry form field “Years old”
    . Probably better to test as follows: 1. visit the CRF, verify ‘Years old’ field is empty and “This is a CALCTEXT’’ is ‘Your child’.
    2. Then enter the DOB and verify data in”This is a CALCTEXT’’ is ‘You’. No need to verify the data in ‘Years old’
    3. Enter today’s date in DOB and verify data in ‘Years old’ field is 0 and “This is a CALCTEXT’’ is ‘Your child’
  6. Save data. Else there is a popup to save data. Do this in all similar locations.
  7. ‘W’ missing.
    And I click on the Edit image for the field named “hat sport do you like the most”
  8. No need to press now button. Delete this and below step. Same for Today.
  9. Replace with ‘Then I should see the exact time in the field labeled “Now”’.
    Then I should see “M-D-Y H:M” in the data entry form field “Now”
  10. The server time was different to Now time, so might not be easy to verify. Probably best to take this out from testing and it’s also not included in URS. I’ll change the CDISC file to remove this field so it’s not in the CRF.
  11. Use ‘Then I should see today’s date in the field labeled “Today”’.
    Then I should see “M-D-Y” in the data entry form field “Today”
  12. test_user1 not USERNAME.
    Then I should see “USERNAME” in the data entry form field @Username
  13. No need this.
  14. Rewrite this:
    And I select the radio option “Yes” for the field labeled “Are you able to attend weekend appointments?”

    1. Select Yes for field labeled “Are you able to attend weekend appointments?” and save; and check options for radio field.
    2. Select No for field labeled “Are you able to attend weekend appointments?” and save; and check options for radio field.
    Check radio options as follows
    Image

You are right.. There is no field embedding in this.. Probably I’ll split this up into 2 scripts and put a new number for field embedding..

Review completed for action tags

Comment edits:

Created: 9/26/2024 10:09:42 AM Edited on: 9/26/2024 10:09:42 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Review of Action tags:

  1. Use test_user1 as test_user is used for old versions. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L61
  2. Check the CDISC project name. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L62
  3. Before this add a step to verify there is no data in ‘Next Visit Due’. Similarly do in other action tags.. Verify data before and after data input. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L81
  4. I cannot see this. Best to delete this. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L82
  5. This is relative, it depends on the date being tested. Hence best to not use this. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L103. Probably better to test as follows: 1. visit the CRF, verify ‘Years old’ field is empty and “This is a CALCTEXT’’ is ‘Your child’.
  6. Then enter the DOB and verify data in “This is a CALCTEXT’’ is ‘You’. No need to verify the data in ‘Years old’
  7. Enter today’s date in DOB and verify data in ‘Years old’ field is 0 and “This is a CALCTEXT’’ is ‘Your child’
  8. Save data. Else there is a popup to save data. Do this in all similar locations. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L112
  9. ‘W’ missing. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L121
  10. No need to press now button. Delete this and below step. Same for Today. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L159
  11. Replace with ‘Then I should see the exact time in the field labeled “Now”’. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L161
  12. The server time was different to Now time, so might not be easy to verify. Probably best to take this out from testing and it’s also not included in URS. I’ll change the CDISC file to remove this field so it’s not in the CRF.
  13. Use ‘Then I should see today’s date in the field labeled “Today”’. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L167
  14. test_user1 not USERNAME. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L182
  15. No need this. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L184
  16. Rewrite this: https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L197
  17. Select Yes for field labeled “Are you able to attend weekend appointments?” and save; and check options for radio field.
  18. Select No for field labeled “Are you able to attend weekend appointments?” and save; and check options for radio field. Check radio options as follows Image

You are right.. There is no field embedding in this.. Probably I’ll split this up into 2 scripts and put a new number for field embedding..

Review completed for action tags

Created: 9/26/2024 9:54:38 AM Edited on: 9/26/2024 9:54:38 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Review of Action tags:

  1. Use test_user1 as test_user is used for old versions. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L61
  2. Check the CDISC project name. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L62
  3. Before this add a step to verify there is no data in ‘Next Visit Due’. Similarly do in other action tags.. Verify data before and after data input. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L81
  4. I cannot see this. Best to delete this. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L82
  5. This is relative, it depends on the date being tested. Hence best to not use this. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L103. Probably better to test as follows: 1. visit the CRF, verify ‘Years old’ field is empty and “This is a CALCTEXT’’ is ‘Your child’.
  6. Then enter the DOB and verify data in “This is a CALCTEXT’’ is ‘You’. No need to verify the data in ‘Years old’
  7. Enter today’s date in DOB and verify data in ‘Years old’ field is 0 and “This is a CALCTEXT’’ is ‘Your child’
  8. Save data. Else there is a popup to save data. Do this in all similar locations. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L112
  9. ‘W’ missing. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L121
  10. No need to press now button. Delete this and below step. Same for Today. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L159
  11. Replace with ‘Then I should see the exact time in the field labeled “Now”’. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L161
  12. The server time was different to Now time, so might not be easy to verify. Probably best to take this out from testing and it’s also not included in URS. I’ll change the CDISC file to remove this field so it’s not in the CRF.
  13. Use ‘Then I should see today’s date in the field labeled “Today”’. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L167
  14. test_user1 not USERNAME. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L182
  15. No need this. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L184
  16. Rewrite this: https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L197
  17. Select Yes for field labeled “Are you able to attend weekend appointments?” and save; and check options for radio field.
  18. Select No for field labeled “Are you able to attend weekend appointments?” and save; and check options for radio field. Check radio options as follows Image

You are right.. There is no field embedding in this.. Probably I’ll split this up into 2 scripts and put a new number for field embedding..

Created: 9/26/2024 9:54:38 AM Edited on: 9/26/2024 9:46:22 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

  1. Use test_user1 as test_user is used for old versions. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L61
  2. Check the CDISC project name. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L62
  3. Before this add a step to verify there is no data in ‘Next Visit Due’. Similarly do in other action tags.. Verify data before and after data input. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L81
  4. I cannot see this. Best to delete this. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L82
  5. This is relative, it depends on the date being tested. Hence best to not use this. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L103. Probably better to test as follows: 1. visit the CRF, verify ‘Years old’ field is empty and “This is a CALCTEXT’’ is ‘Your child’.
  6. Then enter the DOB and verify data in “This is a CALCTEXT’’ is ‘You’. No need to verify the data in ‘Years old’
  7. Enter today’s date in DOB and verify data in ‘Years old’ field is 0 and “This is a CALCTEXT’’ is ‘Your child’
  8. Save data. Else there is a popup to save data. Do this in all similar locations. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L112
  9. ‘W’ missing. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L121
  10. No need to press now button. Delete this and below step. Same for Today. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L159
  11. Replace with ‘Then I should see the exact time in the field labeled “Now”’. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L161
  12. The server time was different to Now time, so might not be easy to verify. Probably best to take this out from testing and it’s also not included in URS. I’ll change the CDISC file to remove this field so it’s not in the CRF.
  13. Use ‘Then I should see today’s date in the field labeled “Today”’. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L167
  14. test_user1 not USERNAME. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L182
  15. No need this. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L184
  16. Rewrite this: https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L197
  17. Select Yes and save and check options for radio field.
  18. Select No and save and check options for radio field. Check radio options as follows Image

Comment:

Author: MintooXavier Updated on: 9/26/2024 11:30:05 AM

Comment body:

Changed CDISC file for Action Tags and pushed to redcap_val branch..
Rename the folder as well to delete field embedding
Rewrite this.

I want to see that File Version History for File Upload fields is functioning as expected

Comment edits:

Created: 9/26/2024 11:30:05 AM Edited on: 9/26/2024 11:30:05 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Changed CDISC file for Action Tags and pushed to redcap_val branch.. Rename the folder as well to delete field embedding Rewrite this. https://github.com/CCTC-team/redcap_cypress/blob/2543217bc64dd71834d8f2d1c16c93cad97f732f/manual_scripts/Action%20Tags%20and%20Field%20Embedding_107/D.107.100%20-%20Action%20Tags%20and%20Field%20Embedding.feature#L4

Created: 9/26/2024 11:28:00 AM Edited on: 9/26/2024 11:28:00 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Changed CDISC file for Action Tags and pushed to redcap_val branch.. Rename the folder as well to delete field embedding

Created: 9/26/2024 11:28:00 AM Edited on: 9/26/2024 10:19:02 AM Edited by: MintooXavier Deleted on: |none| Deleted by: |none|

Diff:

Changed CDISC file for Action Tags and pushed to redcap_val branch..

Comment:

Author: LawrenceFayers Updated on: 9/26/2024 12:33:38 PM

Comment body:

Comment 4:
Nothing changed because it is fine because it is in the field note.

Comment 13:
I believe as above but please check as not discussed this one.

Comment 5:
I think I have done as you suggested but please check as not 100% certain

Comment 6:
I believe I have already done this on the row above but please confirm if you mean something else.

Comment:

Author: MintooXavier Updated on: 9/26/2024 2:22:55 PM

Comment body:

I have reviewed the script and made minor changes.. Test Pass

Comment:

Author: MintooXavier Updated on: 11/6/2024 2:51:53 PM

Comment body:
  1. Added 1 new step definition
  2. Modified the gherkin and restructured.
  3. Modified the Project_redcap_val_ActionTags.xml

Script is automated


Timeline events:

LABELLED | User: MintooXavier Created on: 6/6/2024 9:14:45 AM Label name: Non-core feature Label description: A feature managed by CCTU

LABELLED | User: MintooXavier Created on: 6/6/2024 9:14:45 AM Label name: Manual Label description:

MENTIONED | User: default Created on: 6/6/2024 9:14:45 AM

ASSIGNED | User: MintooXavier Created on: 6/6/2024 9:14:45 AM Assignee: TanDBPRO

SUBSCRIBED | User: default Created on: 6/6/2024 9:14:45 AM

RENAMED TITLE | User: MintooXavier Created on: 6/10/2024 11:06:20 AM Previous title: 7. Action Tags Current title: 7. Action Tags and Field Embedding

ISSUE COMMENT | User: MintooXavier Created on: 6/18/2024 10:59:11 AM Issue comment body:

No need for another Field Embedding script. Incorporate Field embedding tests within this script as you have embedded fields in it.

RENAMED TITLE | User: MintooXavier Created on: 8/1/2024 1:44:41 PM Previous title: 7. Action Tags and Field Embedding Current title: 107. Action Tags and Field Embedding

ASSIGNED | User: LawrenceFayers Created on: 9/23/2024 10:27:47 AM Assignee: LawrenceFayers

UNASSIGNED | User: LawrenceFayers Created on: 9/23/2024 10:27:47 AM Assignee: TanDBPRO

ISSUE COMMENT | User: MintooXavier Created on: 9/26/2024 9:46:22 AM Issue comment body:

Review of Action tags:

  1. Use test_user1 as test_user is used for old versions.
  2. Check the CDISC project name.
    And I create a new project named “D.107.100” by clicking on “New Project” in the menu bar, selecting “Practice / Just for fun” from the dropdown, choosing file “Project_redcap_val.xml”, and clicking the “Create Project” button
  3. Before this add a step to verify there is no data in ‘Next Visit Due’. Similarly do in other action tags.. Verify data before and after data input.
    When I enter “02/09/2023” into the input field labeled “Visit Date”
  4. I cannot see this. Best to delete this.
  5. This is relative, it depends on the date being tested. Hence best to not use this.
    And I should see “45.84887665957093” in the data entry form field “Years old”
    . Probably better to test as follows: 1. visit the CRF, verify ‘Years old’ field is empty and “This is a CALCTEXT’’ is ‘Your child’.
    2. Then enter the DOB and verify data in”This is a CALCTEXT’’ is ‘You’. No need to verify the data in ‘Years old’
    3. Enter today’s date in DOB and verify data in ‘Years old’ field is 0 and “This is a CALCTEXT’’ is ‘Your child’
  6. Save data. Else there is a popup to save data. Do this in all similar locations.
  7. ‘W’ missing.
    And I click on the Edit image for the field named “hat sport do you like the most”
  8. No need to press now button. Delete this and below step. Same for Today.
  9. Replace with ‘Then I should see the exact time in the field labeled “Now”’.
    Then I should see “M-D-Y H:M” in the data entry form field “Now”
  10. The server time was different to Now time, so might not be easy to verify. Probably best to take this out from testing and it’s also not included in URS. I’ll change the CDISC file to remove this field so it’s not in the CRF.
  11. Use ‘Then I should see today’s date in the field labeled “Today”’.
    Then I should see “M-D-Y” in the data entry form field “Today”
  12. test_user1 not USERNAME.
    Then I should see “USERNAME” in the data entry form field @Username
  13. No need this.
  14. Rewrite this:
    And I select the radio option “Yes” for the field labeled “Are you able to attend weekend appointments?”

    1. Select Yes for field labeled “Are you able to attend weekend appointments?” and save; and check options for radio field.
    2. Select No for field labeled “Are you able to attend weekend appointments?” and save; and check options for radio field.
    Check radio options as follows
    Image

You are right.. There is no field embedding in this.. Probably I’ll split this up into 2 scripts and put a new number for field embedding..

Review completed for action tags

ISSUE COMMENT | User: MintooXavier Created on: 9/26/2024 10:19:02 AM Issue comment body:

Changed CDISC file for Action Tags and pushed to redcap_val branch..
Rename the folder as well to delete field embedding
Rewrite this.

I want to see that File Version History for File Upload fields is functioning as expected

RENAMED TITLE | User: MintooXavier Created on: 9/26/2024 10:29:33 AM Previous title: 107. Action Tags and Field Embedding Current title: 107. Action Tags

ISSUE COMMENT | User: LawrenceFayers Created on: 9/26/2024 12:33:38 PM Issue comment body:

Comment 4:
Nothing changed because it is fine because it is in the field note.

Comment 13:
I believe as above but please check as not discussed this one.

Comment 5:
I think I have done as you suggested but please check as not 100% certain

Comment 6:
I believe I have already done this on the row above but please confirm if you mean something else.

ISSUE COMMENT | User: MintooXavier Created on: 9/26/2024 2:22:55 PM Issue comment body:

I have reviewed the script and made minor changes.. Test Pass

ISSUE COMMENT | User: MintooXavier Created on: 11/6/2024 2:51:53 PM Issue comment body:
  1. Added 1 new step definition
  2. Modified the gherkin and restructured.
  3. Modified the Project_redcap_val_ActionTags.xml

Script is automated

ASSIGNED | User: MintooXavier Created on: 11/6/2024 2:52:01 PM Assignee: MintooXavier

UNLABELLED | User: MintooXavier Created on: 11/6/2024 2:52:13 PM Label name: Manual Label description:

LABELLED | User: MintooXavier Created on: 11/6/2024 2:52:13 PM Label name: Gherkin Label description: Uses a Gherkin syntax

LABELLED | User: MintooXavier Created on: 11/6/2024 2:52:13 PM Label name: Automated Label description:


————— feature ends —————